使用指针显示数组内容

sam*_*rat 6 c pointers

我对如何使用指针显示数组感到困惑。我可以使用 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)

Pra*_*ian 5

检查 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)