怎么做家具定制网站,校园文化建设图片网站,丰镇网站建设,wordpress模板编写sizeof 是 C 语言内置的操作符关键字#xff0c;而 strlen 是 C 语言库函数#xff1b; sizeof 仅用于计算数据类型的大小或者变量的大小#xff0c;而 strlen 只能以结尾为 \0 的字符串作为参数#xff1b; 编译器在编译时就计算出了 sizeof 的结果#xff0c;而 strlen …sizeof 是 C 语言内置的操作符关键字而 strlen 是 C 语言库函数 sizeof 仅用于计算数据类型的大小或者变量的大小而 strlen 只能以结尾为 \0 的字符串作为参数 编译器在编译时就计算出了 sizeof 的结果而 strlen 必须在运行时才能计算出来 sizeof 计算数据类型或变量会占用内存的大小strlen 计算字符串实际长度。
int main(void)
{char str[50] Linux app strlen test!;char *ptr str;printf(sizeof: %ld\n, sizeof(str));printf(strlen: %ld\n, strlen(str));puts(~~~~~~~~~~);printf(sizeof: %ld\n, sizeof(ptr));printf(strlen: %ld\n, strlen(ptr));exit(0);
}
结果 从打印信息可知第一个 sizeof 计算的是数组变量 str 的大小所以等于 50 而第二个 sizeof 计算的是指针变量 ptr 的大小这里等于 8 个字节因为这里笔者是在 Ubuntu 64 位系统下进行的测试所以指针占 用的内存大小就等于 8 个字节而 strlen 始终计算的都是字符串的长度。