#include <stdio.h>
int main()
{
int* p[3];
int a = 10;
int b = 20;
int c = 30;
p[0] = &a;
p[1] = &b;
p[2] = &c;
printf("a的地址:%p,b的地址:%p,c的地址:%p\n", &a, &b, &c);
printf("指针数组p[0]中存放的地址:%p,p[0]地址中的值:%d\n", p[0], *p[0]);
}
创建一个指针数组,指针数组中的每个元素可以存放一个指针变量;
指针数组在内存中开辟一片连续的内存空间,用来保存指针变量,也就是地址;所以指针的地址,与指针存储的地址是两个不同地址;
指针数组的使用方式和数组是一样的;其他数据类型的可能存放的是一个整数或浮点数,指针数组是用来存放一个地址,通过*取值符来获取地址中的值;
#include <stdio.h>
int main()
{
char a[] = "北京欢迎您!";
char b[] = "上海欢迎您!!";
char c[] = "广州欢迎您!!!";
char* p[3] = { a , b, c };
for (int i = 0; i < 3; i++)
{
printf("%s", p[i]);
}
}
通过字符指针数组,存放多个字符串,通过指针下标来打印出元素的值;