在C中,char * x如何工作?

问题描述 投票:-1回答:1

我是C / C ++的新手。

char *x="hello world";
char x[]="hello world";

我知道第一个是指针,第二个是字符数组。但是,我不明白char * x是如何工作的。

int a=1;
int *b=&a;

&a是内存地址。b是指针。但是,“ hello world”的内存地址是什么。它如何应用于x指针?有人可以解释一下吗?

c arrays char c-strings
1个回答
0
投票

在C中,所有文字字符串都存储为不可修改的(但not常量)字符数组,包括空终止符。

执行时

char *x = "hello world";

您初始化x以指向此类数组的第一个元素(请记住数组会衰减到指向其第一个元素的指针)。

类似于

char s[] = "hello world";
char *x = s;
© www.soinside.com 2019 - 2024. All rights reserved.