我正在尝试正确阅读:
*(strarray[i]+j)=0;
我理解的是:
strarray[i][++j] = 0;
或
strarray[i][++j] = '\0';
但并不完全相同。怎么能正确编写为数组下标符号?
答案 0 :(得分:5)
使用后缀数组下标符号
*(strarray[i]+j)=0;
将是
strarray[i][j]=0;
引用C11
标准,章节§6.5.2.1,数组下载
后缀表达式后跟方括号
[]
中的表达式是下标 指定数组对象的元素。下标运算符[]
的定义 是E1[E2]
与(*((E1)+(E2)))
相同。 [...]
在您的情况下,您可以将E1
视为strarray[i]
,将E2
视为j
。