C语言中,sizeof能求字符串长度吗?

2024-12-01 02:25:42
推荐回答(3个)
回答1:

sizeof计算对象的大小是转换成对象类型的计算,也就是说,同种类型的不同对象其sizeof值都是一致的。

所以sizeof(str[])相当于sizeof(char)=1

另一个sizeof(str)相当于sizeof(char *),对于这种指针类型,在32位计算机中,一个指针变量的返回值通常是4(注意结果是以字节为单位),在64位系统中指针变量的sizeof通常为8,所以当你的系统是64位时,sizeof(str)=sizeof(char *)=8

如:

回答2:

sizeof是计算所占用内存大小的函数,sizeof(str)表示的是一个指针的大小。
要想求字符串长度要用strlen(str)。

回答3:

不能,在C语言中,sizeof() 是一个判断数据类型或者表达式长度的运算符。求字符串长度用strlen()函数。