您的位置:首页 > 编程语言 > C语言/C++

c语言中数组与sizeof()

2016-03-05 21:56 337 查看
我以前的理解是:数组名字就是指向数组首元素的指针,然而用sizeof()操作数组名字,把我又弄得有些疑惑了。查了查资料,终于明白了。

原来,数组名字做形参时才被当作指针。而sizeof()并不是一个函数,而是一个单目运算符,所以sizeof()里写数组名字,返回的就是数组占了多少字节。

例如:    char a[10] = {1,2,3};

sizeof(a) = 10;

char(*p)[10] = &a;

sizeof(p) = 4 // win32

char b[10][10];

sizeof(b) = 100;

p = b; //此时b为指向b[10][10]第一行元素(长10的一维字符数组)的数组指针

sizeof(p) = 4;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: