我试图正确阅读这个:
*(strarray[i]+j)=0;
Run Code Online (Sandbox Code Playgroud)
我理解的是:
strarray[i][++j] = 0;
Run Code Online (Sandbox Code Playgroud)
要么
strarray[i][++j] = '\0';
Run Code Online (Sandbox Code Playgroud)
但并不完全一样.怎么能正确写成数组下标符号?
使用postfix数组下标表示法,
*(strarray[i]+j)=0;
Run Code Online (Sandbox Code Playgroud)
将会
strarray[i][j]=0;
Run Code Online (Sandbox Code Playgroud)
引用C11标准,章节§6.5.2.1,数组下标
后缀表达式后跟方括号中的表达式
[]是数组对象元素的下标名称.下标操作符的定义[]是E1[E2]相同(*((E1)+(E2))).[...]
在您的情况下,您可以考虑E1as strarray[i]和E2as j.