数组名单独使用,实际上代表了数组的起始地址。
访问第一个元素:*list
访问第二个元素:*(list + 1)
假设list地址为1000, 则list+1的值1000+sizeof(int)。
memset的使用(转)
在初始化数组尤其是需要每次都初始化的时候,很多同学使用循环来进行,这样不但速度慢,而且写起来也很长。所以现在提供一个函数来实现这个功能。。。
原型:extern void *memset(void *buffer, int c, int count);
功能:把buffer所指内存区域的前count个字节设置成字符c。
include <string.h>
注意这个函数是字符串函数,所以一定要包含字符串头文件。
使用方法:
int a[50];
memset(a,0,sizeof(a));
这样呢,就将数组a内所有的值都赋成0了,sizeof也是一个函数,得到数组a的字节大小。
另外需要注意的是,memset函数是逐字节进行填充,所以a一般为char *型。对于其它类型的a,可以填充的值有两个,0和-1。因为计算机中用二进制补码表示数字,0和二进制补码为全0,-1的二进制补码为全1。