c语言学习之数组与指针数组

可定义一个指针数组来储存指针,数组里边为几个指针,声明形式为

<类型名><*变量名>,

指针数组的初始化和数组一样可边声明边赋值,但不能初始化时直接赋值如以下为错误的初始化,p[3]={h,g,k}为错误的,可以一个一个初始化如 p[0]=h;p[1]=k;p[2]=l;为正确的,以下为边定义边赋值:

#include<stdio.h>

void main()

{

       inth[3]={1,2,3},g[3]={4,5,6},k[3]={7,8,9},*p[3]={h,g,k},j,l;

       for(j=0;j<3;j++)

       {for(l=0;l<3;l++)

                     printf("%d",p[j][l]);

       printf("\n");

       }

}

以下为先定义后赋值:

#include<stdio.h>

void main()

{

       inth[3]={1,2,3},g[3]={4,5,6},k[3]={7,8,9},*p[3],j,l;

       p[0]=h;

       p[1]=g;

       p[2]=k;

       for(j=0;j<3;j++)

       {for(l=0;l<3;l++)

                     printf("%d",p[j][l]);

       printf("\n");

       }

}

这里指针仅能指向一维数组。

猜你喜欢

转载自blog.csdn.net/dy1314fowever/article/details/80355656