编写程序使用sizeof
和strlen
计算char数组的长度。
示例代码
#include <stdio.h>
#include <string.h>
int main()
{
char string[] = "this is a test?";
printf(""%s" 字符串的大小是:%lu 个字节,\n",
string,sizeof(string));
printf("长度为:%ld.\n",strlen(string));
return(0);
}
执行上面示例代码,得到以下结果:
hema@yiibai:~/book$ gcc main.c
hema@yiibai:~/book$ ./a.out
"this is a test?" 字符串的大小是:16 个字节,
长度为:15.
创建数组时,程序会在内存中分配空间来保存数组的值。
分配基于数组中每个元素的大小。
因此,包含15
个字符(包括\0
或NULL
)的char
数组占用15
个字节的存储空间,但字符串的长度仍然只有14
个字符(字节)。