#include<stdio.h> #include<stdlib.h> int main() { //指针数组:存放的是指针数据===地址 用于存放字符串比较方便 :因为字符指针的定义:char *str="string"; char *pa[5]= {"I love you 3000 times!","Just do it!","Everything is possible!","Do it!","Nice!"}; //char *str="string"; int i; for(i=0;i<5;i++) { printf("%s\n",pa[i]); } //数组指针:指向数组的指针 int (*b)[5];//数组指针 数组长度为5 int temp[5]={1,2,3,4,5}; b=&temp;//指向temp for(i=0;i<5;i++) { printf("%d\n",*(*b+i));// *b:表示数组的第一个元素地址 } int *q=temp;//指向数组第一个元素 for(i=0;i<5;i++) { printf("%d\n",*(q+i)); } } #include<stdio.h> #include<stdlib.h> int main() { int num[][4]= { {1,2,3,4}, {4,6,8,9}, {11,22,5,6} }; int (*p)[4]=num;//p=num int i,j; for(i=0; i<3; i++) { for(j=0; j<4; j++) { printf("%d ",*(*(p+i)+j)); } printf("\n"); } //指针数组 char *book[]= { "高数", "线代", "数据结构", "算法" }; char **q=&book[0];//指向指针的指针 book[i]->表示一个指针 printf("%s",*q); return 0; }