间接访问
*间接访问运算符 (解引用运算符)
printf("*pa=%d\n",*pa);
pa=100;此为间接访问
即pa就等价于变量a
printf("※&a=%d\n",※&a);(星号*=※)
printf("&*pa=%d\n",&*pa);
指针也可改变指向
pa=&c
*pa=500
printf(“c=%d”,c);
c=500
二级指针
指向一级指针的指针
printf("pa的地址)
int**ppa=&pa;
(二级指针存的是一级指针的地址)
(也可改变指向)
使用二级指针来修改的值
*ppc<=>pc
*pc<=>c
**ppc=星号※(*ppc)=*pc=c
三级指针
int ***pppa=&ppa
四级指针
int ****ppppa=&pppa
没有赋值的指针不能进行间接访问
int *pe;
int 星号※pe=NULL空指针也不能进行间接访问
printf("*pe=%d\n",星号※pe);
指针和int型常量有什么关系
intpf=(int)123456
printf(“pf=%d\n”,pf);
指针可以指向所有内存,无意义
指针所占的类型的大小
不管什么类型的指针都是占用4个字节(可视为整数)
char *pch;
double星号※pdouble;
sizeof计算字节大小
虚拟内存:Windows编程,所有应用程序在系统里都是占用4GB虚拟内存空间,区别于物理内存