我对如何使用指针显示数组感到困惑。我可以使用 for 循环轻松地使用数组来完成此操作,但我有兴趣了解如何通过指针使用,并且我不知道如何计算数组的起点和终点。
下面是示例程序
void printArray(int *ptr);
{
//for statement to print values using array
for( ptr!=NULL; ptr++) // i know this doesn't work
printf("%d", *ptr);
}
int main()
{
int array[6] = {2,4,6,8,10};
printArray(array);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
检查 NULL 技巧仅适用于以 NULL 结尾的字符串。对于数字数组,您还必须传递大小。
void printArray(int *ptr, size_t length);
{
//for statement to print values using array
size_t i = 0;
for( ; i < length; ++i )
printf("%d", ptr[i]);
}
void printString(const char *ptr);
{
//for statement to print values using array
for( ; *ptr!='\0'; ++ptr)
printf("%c", *ptr);
}
int main()
{
int array[6] = {2,4,6,8,10};
const char* str = "Hello World!";
printArray(array, 6);
printString(str);
return 0;
}
Run Code Online (Sandbox Code Playgroud)