[英]Arrays in C are used through pointers?
我在这里发布的一个问题是: C ++-类问题
来自@SanSS的答复之一提到了答复的以下部分:
C语言中的数组通过指针使用...
怎么做? 并且,如果可能的话,您可以举例说明一下吗?
谢谢。
这可能意味着两件事:
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
操作的操作数)。
指针此链接帮助您如何通过指针使用数组。
对不起我的英语不好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.