引用字符变量时存储指针变量的地址在哪里?

0 c pointers

假设我们有一个像这样的字符指针:

static char *example[]={"doctor","who","hello"};
Run Code Online (Sandbox Code Playgroud)

我对这个例子中发生的事情感到有些困惑.

  1. 指针example只是有自己的地址吗?

  2. 我在数组中的字符串每个都有一个不同的内存地址*example
    吗?

  3. 指针是否example只是简单地引用每个地址,并初始化每个地址中的内容,如字符串声明所示?

我只是在使用C几个月,所以我只是想抓住事情的具体细节,我听说指针是C单手最重要的方面.

The*_*kis 5

变量example只是拥有自己的地址吗?

是的,变量有自己的地址.

我在数组中的字符串每个都有一个不同的内存地址*example 吗?

是的,每个字符串都有自己的地址,彼此不同.它也与变量的地址不同example.*example但是,表达式与变量不同example.见下.

指针示例是否只是简单地引用每个地址,并初始化每个地址中的内容,如字符串声明所示?

变量example引用的意义上,该字符串数组example(它的地址)是数组的地址.

  • Chtazigiannak:很好的答案:荣誉!ELABORATION:1)"`static char*example [] = {"Doctor","Who"};`是两个字符串的数组,2)`static char*example ="Doctor";`是一个字符串.3 )`static char*example [] = {"Doctor","Who"};`,`static char**example = {"Doctor","Who"};`和`static*char [2] example = { Doctor","Who"};`都是指向两个字符串数组的指针. (2认同)