You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何未添加[i]时数组无法显示?求解[i]的作用

代码中[i]的作用及无法显示数组的原因

1. [i]的核心作用

在C语言里,数组名作为函数参数传递时,会自动转成指向数组首元素的指针。[i]是下标运算符,它的功能是:从指针指向的起始位置,向后偏移i个int类型的内存块,取出对应位置的元素值。简单说就是精准访问数组的第i+1个元素(因为数组下标从0开始计数)。
比如你的代码里:

  • tableau[0]对应数组第一个元素12
  • tableau[1]对应第二个元素15
  • 以此类推,循环里的i从0到3,就能依次取出数组前4个元素。

2. 不加[i]为啥没法显示数组

如果去掉[i],直接写tableau,那你传给printf的是数组首元素的内存地址,而不是数组里的数值。

  • 用%d格式符打印地址,输出的是地址的十进制数值(一个毫无意义的大整数),不是你要的数组元素。
  • 而且循环里每次打印的都是同一个地址,根本不会遍历数组的后续元素,自然看不到正确的数组内容。

额外补充:等价写法

tableau[i]和*(tableau + i)是完全等价的,后者是用指针加法的方式访问元素,本质和下标运算符一模一样,只是写法不同。

内容的提问来源于stack exchange,提问作者Sinay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 07:20:27