在Java中有这么一种说法,万物皆对象,而C C++也有一种说法,万物皆指针, 而Linux则万物皆文件
指针
在C中指针就是内存地址
比如下面代码 定义了一个别名为numbler1的int型变量,给他赋值于100000
int numbler1 = 100000;
C里面获取内存地址的方式为 &(取值)
比如下面代码,int * 代表定义一个指针,别名为numbler1_p 将其赋于numbler1的内存地址(&numbler1)
int * numbler1_p = &numbler1;
打印地址用点位服%p
printf("此number1变量的地址是:%p\n", &numbler1);
获取内存地址里的值方法
printf("此number1值为:%d\n", * numbler1_p);
printf("此number1值为:%d\n", * (&numbler1));
总结:int * 代表定义一个指针 int * intP 这个intP 就是一个指针变量也叫别名,他只接受内存地址
通过指针修改值
int i = 100;
int *p = &i; // p存放的是i的地址
i = 200;
printf("i的值是:%d\n", i);
*p = 300; // 代表取出i的地址对应的值,并修改成300
printf("i的值是:%d\n", i);
输出:如下,成功修改
i的值是:200
i的值是:300