wustguangh |分类标签:C/C++ 2015-01-17
C语言的sizeof用于char*的返回值问题
char A[10]; int len = sizeof(A); int len1 = sizeof(char*);如上程序所示,为啥len的结果是10,而不是sizeof(char *)的值4?
满意答案
wustguangh 19级 2015-01-17 12:30:12
如果char*对应是一个char数组,则返回数组的字节长度,否则返回的就是char*指针的长度(4)。
如下程序所示,i的返回值是4.
char *a; int i; i = sizeof(a);
其他回答(1)
wustguangh 19级 2015-01-17 12:28:20
char *是个指针类型,大小就是4字节~
sizeof(数组名)一般不等于sizeof(该数组类型的指针),除非数组有4个元素.
sizeof(数组名)一般不等于sizeof(该数组类型的指针),除非数组有4个元素.