我在这里发布的一个问题:C++ - class issue
其中一封来自@SanSS的回复提到了回复的以下部分:
C中的数组通过指针使用......
这是怎么做到的?并且,如果可能的话,你能通过一个例子澄清这个吗?
感谢。
答案 0 :(得分:5)
这意味着什么可能是一些事情:
1)下标运算符是根据指针算法定义的。 C99 6.5.2.1/2“数组下标”说:
下标运算符[]的定义是E1 [E2]与(*((E1)+(E2)))相同。
例如,假设您有一个像这样的数组:char s[] = "012345";
以下所有评估为'4':
s[4]
*(s + 4)
4[s]
- 这个
不寻常的构造可能会让你大吃
但是因为那样
下标由。定义
标准,相当于*(4 +
s)
,与*(s + 4)
相同
与s[4]
相同。 2)(与上述密切相关)数组名称在大多数表达式中计算指向数组的第一个元素的指针(作为主要异常的sizeof
操作的操作数)。
答案 1 :(得分:5)
pointer此链接可帮助您了解如何通过指针使用数组。
抱歉我的英语。