好的,我很想知道您如何使用指针数组来访问索引中的值。例如:
printf("%c", (*character)[0]);
我知道这段代码有问题,但我不知道该如何修复它。假设我想访问指针数组的0位置,然后像上面一样打印它,我该怎么做?
好的,我很想知道您如何使用指针数组来访问索引中的值。例如:
printf("%c", (*character)[0]);
我知道这段代码有问题,但我不知道该如何修复它。假设我想访问指针数组的0位置,然后像上面一样打印它,我该怎么做?
char character[] = {'1'};
。character[someIndex] means someIndex[character] means *(character+someIndex)
如果这是你想要知道的。那么你应该这样做:
```printf("%c", *(character+0));
这相当于
printf("%c", *character);
printf("%c", character[0]);
刚刚错过了 - 关于这个声明
指针数组的索引?
请注意数组不是指针,如果您被这个搞糊涂了。
*(character+0)
将不会打印第一个元素。 - smac89character
是数组的基地址 - 假设它是一个指针,那么它应该指向相同的地址,否则做这样的事情就没有意义。 - Sadiquechar *character="something";
printf("%c",character[1]);
//通用方法printf("%c",*(character+1));
printf("%c",*(1+character));
//交换律printf("%c",1[character]);
char *arr[20]={"Stackoverflow"};
这意味着您有一个char类型指针数组,其中20个内存位置的地址存储在一个大小为20的数组中。 arr [0]中的第一个内存位置指向字符串“Stackoverflow”,其余位置未分配(因此您将获得垃圾值或可能是分段错误)。 现在,如果您想访问第0个内存位置,请执行以下操作:
printf(“%s \ n”,arr [0]);