sizeof 与 strlen 用法的简明解释

sizeof 与 strlen 用法的简明解释

网上有很多人已经长篇大论的讲过了, 这里只说明一下它的核心部分及给出一个简单测试实例
1. strlen() 是函数, 程序会根据传入的指针计算字符串的长度,不带尾部0.
2. sizeof() 不是函数, 其括着的部分可以是变量或类型或字符串,把它也叫参数吧, gcc 会计算出参数所需占用的内存的大小.

举例: 以sizeof(字符串)为例

#include
#include

int main(void)
{
    printf("sizeof(\"main.cpp\") is %ld\n",sizeof("main.cpp"));
    printf("strlen(\"main.cpp\") is %ld\n",strlen("main.cpp"));
    return 0;
}

执行:
./temp 
sizeof("main.cpp") is 9
strlen("main.cpp") is 8

可见sizeof(字符串)长度是包含了尾部0的.
strlen(字符串)其返回结果长度是不包含尾部0的
 

你可能感兴趣的:(#,C,编程,java,算法,开发语言)