c语言初始化问题,char aa[10]; memset(aa,0x00,10)与 memset(&aa,0x00,10)一样吗?
不一样,aa是长度为10的数组的首地址,&aa是数组首地址的值存放的地址。
比如数组aa是1到10十个数依次排开,占了内存上从0x00(0)到0x0a(10)十个字节的地方,aa的值就是数组的首地址0x00(0)。
而对存放aa的值0x00(0)的指针常量,一般在64位的计算机上是8个字节。它被存放在0x0b(11)到0x12(18)这八个字节上。
然后aa的值就是0x00(0),&aa的值就是0x0b(11)。
比如数组aa是1到10十个数依次排开,占了内存上从0x00(0)到0x0a(10)十个字节的地方,aa的值就是数组的首地址0x00(0)。
而对存放aa的值0x00(0)的指针常量,一般在64位的计算机上是8个字节。它被存放在0x0b(11)到0x12(18)这八个字节上。
然后aa的值就是0x00(0),&aa的值就是0x0b(11)。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-04-08
aa 和 &aa 都是数组aa的首地址本回答被提问者采纳