C语言中char *p=“abcde“的意义

首先我们先看下面的一串代码:

int main() {
    char* p = "abcdef";
    printf("%s\n", p);
    return 0;
}

这串代码打印的会是什么呢?

正确结果如下:

C语言中char *p=“abcde“的意义_第1张图片

原因是什么呢?

我们可以这么理解,字符串“abcde”可以看为一个字符数组即:

char arr[]={a,b,c,e,d,'\0'};

而在p里面存放的其实也就是字符串的首地址,也可以理解为arr数组的首地址。

以上就是我的理解了,希望对你有帮助!

你可能感兴趣的:(C语言笔记,c语言,开发语言)