我正试着正确阅读:
*(strarray[i]+j)=0;
我当时的理解是:
strarray[i][++j] = 0;
或
strarray[i][++j] = '\0';
但不完全一样。如何将它正确地写成数组下标符号?
最佳答案
使用后缀数组下标符号,
*(strarray[i]+j)=0;
将
strarray[i][j]=0;
引用
C11
标准,第6.5.2.1章,数组订阅后缀表达式后跟方括号
[]
中的表达式是下标的数组对象元素的指定。下标运算符的定义
[]
是指
E1[E2]
与(*((E1)+(E2)))
相同。[…]在您的情况下,您可以将
E1
视为strarray[i]
,将E2
视为j
。关于c - 如何正确使用数组下标符号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39499623/