繁体   English   中英

通过指针使用C中的数组吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM