我是C / C ++的新手。
char *x="hello world";
char x[]="hello world";
我知道第一个是指针,第二个是字符数组。但是,我不明白char * x是如何工作的。
int a=1;
int *b=&a;
&a是内存地址。b是指针。但是,“ hello world”的内存地址是什么。它如何应用于x指针?有人可以解释一下吗?
在C中,所有文字字符串都存储为不可修改的(但not常量)字符数组,包括空终止符。
执行时
char *x = "hello world";
您初始化x
以指向此类数组的第一个元素(请记住数组会衰减到指向其第一个元素的指针)。
类似于
char s[] = "hello world";
char *x = s;