memset函数及其用法,C语言memset函数详解(mul)
memset函数及其用法,C语言memset函数详解
在前面不止一次说过,定义变量时一定要进行初始化,尤其是数组和结构体这种占用内存大的数据结构。在使用数组的时候经常因为没有初始化而产生“烫烫烫烫烫烫”这样的野值,俗称“乱码”。
每种类型的变量都有各自的初始化方法,memset() 函数可以说是初始化内存的“万能函数”,通常为新申请的内存进行初始化工作。它是直接操作内存空间,mem即“内存”(memory)的意思。该函数的原型为:思考:C语言变量必须初始化吗,不初始化会怎样?感兴趣的小伙伴请获取答案。
include
下面写一个程序:注意,C语言中的指针和数组名不完全等价,不能将它们混为一谈,感兴趣的小伙伴请了解详情。
include根据memset函数的不同,输出结果也不同,分为以下几种情况:memset(p, 0, sizeof(p)); //地址的大小都是4字节0 0 0 0 -52 -52 -52 -52 -52 -52memset(p, 0, sizeof(*p)); //*p表示的是一个字符变量, 只有一字节0 -52 -52 -52 -52 -52 -52 -52 -52 -52memset(p, 0, sizeof(str));0 0 0 0 0 0 0 0 0 0memset(str, 0, sizeof(str));0 0 0 0 0 0 0 0 0 0memset(p, 0, 10); //直接写10也行, 但不专业0 0 0 0 0 0 0 0 0 0include int main(void) { int i; //循环变量 char str[10]; char *p = str; memset(str, 0, sizeof(str)); //只能写sizeof(str), 不能写sizeof(p) for (i=0; i<10; ++i) { printf("%d\x20", str[i]); } printf("\n"); return 0; }
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。
- 上一篇: Maven简介(fcfs)
- 下一篇: MinGW下载和安装教程(二进制)