指针数组
1.指针和数组的关系
- 指针可以保存数组元素的地址。
- 可以定义一个数组,数组中有若干个想同类型指针变量,这个数组被称为指针数组。
指针数组的概念:
指针数组本身是个数组,是若干个想同类型的指针变量构成的集合。
2.指针数组的定义方法
类型说明符 * 数组名 [元素个数];
#include<stdio.h>
int main()
{
int* p[5];
int a = 100;
int b[10] = { 1,2,3,4,5,6,7,8,9,0 };
printf("sizeof(p)=%d\n", sizeof(p));
p[0] = &a;
printf("p[0]=%p\n", p[0]);
printf("&a=%p\n", &a);
printf("*p[0]=%d\n", *p[0]);
return 0;
}
指针的指针
指针的指针,即指针的地址。
int ***m;
m=&q;
p q m 都是指针变量,都占4个字节(64位系统占8个字节),都存放地址编号,只不过类型不一样。
#include<stdio.h>
int main()
{
int a = 0x12345678;
int* p;
int** q;
int*** m;
p = &a;
printf("&a=%p\n", p);
printf("p=%p\n", p);
q = &p;
printf("&p=%p\n", &p);
printf("q=%p\n", q);
m = &q;
printf("&q=%p\n",&q);
printf("m=%p\n", m);
printf("*p=%x\n", *p);
printf("**q=%x\n", **q);
printf("***m=%x\n", ***m);
return 0;
}