在C语言中,char数组是一种常见的数据类型,用于存储字符序列。sizeof运算符返回char数组占用的内存空间大小,以字节为单位。 char数组是一种非常灵活的数据类型,可以用于存储各种字符序列,如字符串、文本文件等。通过sizeof char数组,我们可以准确地知道数组所占内存的大小,从而更好地管理内存资源。 在使用sizeof char...
sizeof char数组可以用于确定数组的大小,以便在程序中正确处理该数组。例如,可以使用sizeof char数组来遍历数组的所有元素,或者将数组作为参数传递给函数。 在实际编程中,sizeof char数组通常与字符串处理相关的函数一起使用。例如,可以使用strlen函数来确定字符串的长度,然后使用sizeof char数组来确定数组的大小。 以下...
3. char* 类型应特别注意,sizeof()计算出来的是指针大小,32位系统4字节,64位占8字节,与char*的字符串毫无关系,只有char[N]字符数组使用sizeof ()计算大小,结果是数组元素个数,而非指针大小,但是如果将其用于参数传递的话,子函数中获取的将不再是字符串数组类型,而是指针,这个要特别注意。 4. 系统函数返回值...
char *是个指针类型,大小就是4字节~ sizeof(数组名)一般不等于sizeof(该数组类型的指针),除非数组有4个元素. sizeof的功能就是这样的,对于数组给出数组的字节长度。 sizeof(数组名) 测量出来的 是整个的数组长度 这是应该值得注意的地方 因为char的长度是1 所以整个长度当然是 10啦 有关内容见: C++ PRIMER...
char *是个指针类型,大小就是4字节~ sizeof(数组名)一般不等于sizeof(该数组类型的指针),除非数组有4个元素. sizeof的功能就是这样的,对于数组给出数组的字节长度。 sizeof(数组名) 测量出来的 是整个的数组长度 这是应该值得注意的地方 因为char的长度是1 所以整个长度当然是 10啦 ...
sizeof()与strlen()的区别在于计算对象的不同。sizeof()适用于所有类型,而strlen()仅针对字符串。对于变量 a 定义为 char * 类型,sizeof(a) 的结果为8,这是因为指针在64位系统中占用8字节。变量 b 定义为 char[5] 类型的数组,sizeof(b) 的结果为5,代表真实的字符数组大小。对于字符串 ...
比如sizeof(cr1)/sizeof(&cr1),就是10,意思就是这个数组类型的长度(不管里面有什么个字符)。 如果是char *cp=cr1;siztof(cp);意思就是这个指针类型长度是多少。如果是sizeof(str1),那么就是string类型的长度,string是8个字长。 strlen():求的是char字符串的实际长度(string要转成char),它求得方法是从开...
p是一个指针,只是指向了字符串char[3]而已。所以sizeof(p)不是字符串占的空间也不是字符数组占的空间,而是一个字符型指针占的空间。所以sizeof(p)=4,在C/C++中一个指针占4个字节 我也琢磨了一下,并找了相关资料,真是找不到能求用指针p所指向的字符数组的方法。只有数组以‘\0'结尾时,...
应该是sizeof(a)/sizeof(char)吧 作用是求数组a中字符的个数,也就是a的长度 sizeof(a)是a的总大小 sizeof(char)是每个char占用的大小 总大小/char的大小 就是 char的个数
include <stdio.h> include <string.h> int main(){ char s[10];scanf("%s",s);printf("strlen(s)=%d\n",strlen(s));printf("sizeof(s)=%d\n",sizeof(s));}