前言
本章东西不多,非常容易,主要以举例,练习为主。
指针数组
- - 是数组,用来存放指针的
int arr[10] = { 0 };//整型数组 char ch[5] = { 0 }; //字符数组 int* parr[4]; //存放整型指针的数组 -- 指针数组 char* pch[5]; //存放字符指针的数组 -- 指针数组
code1
#include<stdio.h>
int main()
{
int a = 10;
int b = 20;
int c = 30;
int d = 40;
int* arr[4] = { &a, &b, &c, &d };
int i = 0;
for (i = 0; i < 4; i++)
{
printf("%d", *(arr[i]));
}
return 0;
}
int* arr[4]里面存放着4整型指针(int*);
打印结果为10,20,30,40,这应该没啥问题。
code2
int main()
{
int arr1[] = { 1,2,3,4,5 };
int arr2[] = { 2,3,4,5,6 };
int arr3[] = { 3,4,5,6,7 };
int* parr[] = { arr1,arr2,arr3 };
//打印
int i = 0;
for (i = 0; i < 3; i++)
{
int j = 0;
for (j = 0; j < 5; j++)
{
printf("%d ", *(parr[i] + j));//p[i]=*(p+i)
//parr[i][j] == *(parr[i]+j)
}
printf("\n");
}
return 0;
}
parr[ ]数组里放着arr1,arr2,arr3,三个数组首元素地址,打印结果自然是三个数组的内容
code3
int main()
{
const char* arr[5] = { "abcdef","bcdefg","haha","wuwu","momo" };
int i = 0;
for (i = 0; i < 5; i++)
{
printf("%s\n", arr[i]);
}
return 0;
}
循环打印
预告
下一章- - - 数组传参和指针传参