如何正确使用数组下标表示法?

时间:2016-09-14 21:05:24

标签: c arrays pointers

我正在尝试正确阅读:

*(strarray[i]+j)=0;

我理解的是:

strarray[i][++j] = 0;

strarray[i][++j] = '\0';

但并不完全相同。怎么能正确编写为数组下标符号?

1 个答案:

答案 0 :(得分:5)

使用后缀数组下标符号

*(strarray[i]+j)=0;

将是

 strarray[i][j]=0;

引用C11标准,章节§6.5.2.1,数组下载

  

后缀表达式后跟方括号[]中的表达式是下标   指定数组对象的元素。下标运算符[]的定义   是E1[E2](*((E1)+(E2)))相同。 [...]

在您的情况下,您可以将E1视为strarray[i],将E2视为j