#include <stdio.h>
int main (void)
{
int * p1;
//1.p是变量的名字,int * 表示p1变量存放的是int类型变量的地址(int * 为一个类型:)
// int * 为一个类型:p是变量名,p变量的数据类型是 int *类型
double * p2;//2.同理:int * 表示p1变量存放的是double类型变量的地址
int i = 3;//3.表示存放的是int类型变量的值
p1 = &i;//合法
// p2 = &i;//4.非法,存放的地址不是double类型的地址
/*4.
1.p保存了i的地址,因此p指向i
2.p不是i,i也不是p,所以修改p的值不影响i的值,修改i的值不影响p的值
3.如果一个指针变量指向某个普通变量,则
*指针变量 就完全等同于 普通变量
eg:
如果p是一个指针变量,并且p存放了普通变量的地址,则p指向普通变量i
*p 就完全等同于 i
或者说:
在所有出现*p的地方都可以替换成i;
在所有出现i的地方都可以替换成*p;
*p就是以p的内容为地址的变量
*/
/*5.
指针就是地址,地址就是指针;
地址就是内存单元的标号;
指针变量是存放地址的变量
指针和指针变量是两个不同的概念
但要注意:通常我们叙述时会把指针变量简称为指针,实际他们的含义并不一样。
*/
return 0;
}
c语言指针基本理解
最新推荐文章于 2022-05-19 20:23:20 发布