c-使用与char数组类似的语法显示char指针



因此,在数组中,可以使用[i]从一个索引移动到下一个索引。我知道你可以通过增加指针的内存地址来做类似的事情:

pMyPointer++;

但是,是否可以使用与数组类似的语法(使用[](循环指针?我是C的新手,所以如果可以,为什么,它是如何工作的,正确的语法是什么?我想它会看起来像:

#define MAXLENGTH 5
...
char* pMyString = myString;
for(int i = 0; i < MAXLENGTH; i++)
printf("%c", *pMyString[i])
#define MAXLENGTH 5
...
char* pMyString = myString;//No &: if myString is an array, it's already an address, so no & needed
for(int i = 0; i < MAXLENGTH; i++)
{
printf("%c", *pMyString); ++pMyString;
}

或者你可以printf("%c",pMyString[i]);

底线如上面的注释所示:您可以将ptr[i]写成*(ptr+i),反之亦然——它们相当于相同的东西。

这里有一个更好的方法:

while (*pMyString)
{
printf ("%c",*pMyString); ++pMyString;
}

这很酷的原因是,您不再绑定到MAXLENGTH——它将一直保持到'',即字符串的末尾。

最新更新