Psy358 2023-03-07 00:25 采纳率: 90.9%
浏览 19
已结题

数组指针和指针数组的问题

求解答数组指针和指针数组的问题!

char* (p)[5] = &array; 特别是这个 两个 *和一个[] 怎么去认知和理解呢?


#include<stdio.h>

int main()
{
    char* array[5] = {"fishc","five","star","good","wow"};
    //指针数组  里面每一个元素都是指针 
    
    char* (*p)[5] =  &array;
    // 定义了一个数组指针 指向的是array这个数组地址??? 
    
    int i,j;
    
    for(i = 0; i< 5;i++)
    {
        for(j =0; (*p)[i][j] !='\0'; j++ )
        
        {
            printf("%c",(*p)[i][j] );
        }
        printf("\n");
    }


    return 0;
}

  • 写回答

2条回答 默认 最新

  • 於黾 2023-03-07 08:19
    关注

    array本身是个指针数组,里面每个指针指向一个字符串常量
    而如果需要一个指针数组再去指向array,肯定是要比它高一级的指针,也就是二级指针,所以会有2个星
    如果2个星一下想不明白,你先从指针数组如何指向一个int数组开始想
    这就好比儿子的学习需要爸爸来监督,那谁来监督爸爸呢,就需要爸爸的爸爸

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月27日
  • 已采纳回答 6月19日
  • 创建了问题 3月7日