“指针”和“指针变量”这两个概念。指针是一个地址,而指针变量是存放地址的变量。
你可以改变指针变量的值 这样变量所存储的指针地址就改变了
而指针不可改变 只能改变指针地址所存储的数据的值
比如0x01地址存储的是一个数据0xFF 你可以改变这个地址上数据的值0xff 但是地址0x01是不变的
指针是内存地址C语言中有专门的取址运算符号"&"
指针变量是存储内存地址的变量
例如:
int a=6;
int* ap=&a; //声明整型指针变量(就是存储的地址放置的是整数的变量)ap,然后把a变量的地址值赋值给ap
int b = *ap; // 通过指针变量间接读取地址数据的例子
如下例子
int *a;
a=NULL;
a=(int *)0x12345678;
赋值后的是地址,这就是指针的功能啊
int *addr;
addr = 0x88000000;
指针变量赋值,当然要赋值为指针了,地址是什么就写什么,32位地址肯定是 0 - 0xffffffff 之间的数组,赋值就赋值为这个数字。
C语言里面的指针的意思是一个存储器的地址,指针本身的赋值只是改变了这个地址的值,指针永远是一个地址
只有通过*p=xxx这种操作,才是给那个地址里面的数据进行修改