您好,您当时回答这个问题的时候是说sizeof(&a[0])是对元素a[0]的引用,我想问下您是怎么区分”引用“跟“取地址”的?
#include <stdio.h>
int main()
{
int a[100];
printf("%d\n", sizeof(a[0]));//4,单个数组元素大小,与平台上的int长度相同,一般4字节
printf("%d\n", sizeof(&a[0]));//4,第一个元素的地址指针,32位机上为4,64位机上8
printf("%d\n", sizeof(a));//400,数组总大小
return 0;
}
int a[100]; sizeof(&a[0])的大小是多少?
include <stdio.h>int main(){int a[100];printf("%d\\n", sizeof(a[0]));\/\/4,单个数组元素大小,与平台上的int长度相同,一般4字节printf("%d\\n", sizeof(&a[0]));\/\/4,第一个元素的地址指针,32位机上为4,64位机上8printf("%d\\n", sizeof(a));\/\/400,数组总大小return 0;} ...
int a[100]; sizeof (a) 的值是多少?
这个就是100个int型变量所需的内存空间,在不同的编译环境里面可能不同。在Visual C++中int型占4个字节,所以是400。
int a[100],a代表什么,sizeof(a)=?a[100]代表什么,sizeof(a[100])=?
int类型在32位机器中的大小是4个字节, 所以sizeof(a[100]) = 4...
...求sizeof(a[100]),以及sizeof(&a)和sizeof(&a[0]),各自代表什么意思...
sizeof(a[100]) 表示 a 数组中的第 100 个元素的字节数,由于数组元素的类型未知,因此这个值可能不同,通常为 4 或 8 字节,具体取决于编译器和本机处理器架构。sizeof(&a) 表示 a 数组的指针的字节数,即整个数组的地址的字节数。在 64 位计算机上,通常为 8 字节,而在 32 位计算机上...
int a[100],sizeof(a),sizeof(a[100]),sizeof(&a),sizeof(&a[0])?
sizeof表示的是变量占用字的节数。a本身是个地址,用int存放,占用4个字节。int就是4,a[100]一共是100个int变量,就是400.&a也是个地址值(存放a的地址的空间内存的地址),一个地址用int存放也是4 &a[0]也是个地址,占用4
关于C语言数据长度的问题
4。跟它所指向的数据无关,所以 sizeof(p) = 4 sizeof(a)的值是2*100,数组名代表数组类型的大小为 元素个数*元素类型大小。sizeof(&a)的值是4,引用a同样还是地址。sizeof(&a[0])的值是2,这里的参数是数组元素,元素类型的字节大小为2,所以值也为2。参考一下截图:...
sizeof问题
则:is=size(int)=4 \/\/ 整型大小 ip=size(void*)=4\/\/ 指针大小 sizeof (a) = 100*is = 400 \/\/ 这是求数组占用空间 sizeof(a[100]) = is = 4 \/\/ 这是求数组单元占用空间 sizeof(&a) = ip = 4 \/\/ 这是求指针大小 sizeof(&a[0]) = ip = 4 \/\/ 同上 size...
int a[100];sizeof(&a)
VC6.0是一个很老的编译器了,与标准C都有不少不兼容的地方,&a的类型是一个指向指针的指针,但还是属于一个指针,在32位机上指针是32位的,所以sizeof(&a)应该是4。
int fun(int a[100]) { sizeof(a); } 为什么为4字节
sizeof不是函数。sizeof(a) 相当于 sizeof(int*) 也就是4;原因:int fun(int a[100]) \/\/传过来的是一个int数组指针,但经过传参之后,数组指针退化成了普通的int型指针。函数只接收数组的首地址,也就是一个普通int型指针。
int size of(int a[])\/ sizeof(int a[])等于几
若有定义int a [][3]={1,2,3,4,5,6,7,8,9},则表达式size of(a)\/size of(a[0])的值为 对于一个整型二维数组,size of(a)=9 即实际内容所占的大小;a[0] 是指第0行的3个元素 因而size of(a[0])=3;最后答案就是 9\/3=3;...