字符串处理中sizeof与strlen区别,以及末尾的\0

    char *ch = "wonima aisaoziaaa";
    int n = sizeof(ch); // 指针长度,对于64平台来说,值为8
    int nn = sizeof(*ch); // 一个字符的长度,值为1
    int nnn = strlen(ch); // 字符串的长度,不算上末尾的\0,值为17

    char sz[] = "wonima aisaoziaaa";
    int s = sizeof sz; // 字符串的长度,算上末尾的\0,值为18
    int ss = sizeof(*sz); // 一个字符的长度,值为1
    int sss = strlen(sz); // 字符串的长度,不算上末尾的\0,值为17

答案如上面代码所示,试验平台vs2017 x64

猜你喜欢

转载自blog.csdn.net/jigetage/article/details/85128918