C语言中的指针和地址的区别
2015-02-25 16:05
190 查看
C语言中指针和地址的区别
指针变量p的值为0x200;*p是指向地址为0x200的指针,也就是取存放在地址为0x200中的值,即为100;所以*p=a=100。
如上图所示,指针变量p的值为0x200;*p则为地址0x200所存放的值0x300;**p则是为地址0x300所存放的数值a;所以**p=100.
代码分析:
#include <stdio.h>
int main(int argc,char ** argv)
{
int a=100;
int *p;
p=a;
//*p=a;
//P=&a;
//*p=&a;
printf(“%d\n”,p);
printf(“%d\n”,*p);
return 0;
}
当p=a;
P等于整型变量a的值100;
*p等于存放在地址编号为100中的数值。
当*p=a;
P为内存新分配的存储地址的IP值,存在着随机性
*p等于100。
当p=&a;
P等于存放整型变量a的地址;
*p等于整型变量a
当*p=&a;//把存放整型变量a的地址赋值给*p,同时会重新分配存储空间和对应的存储空间IP地址
P等于内存新分配的存储IP地址值,存在着随机性
*p等于存放在新分配的IP地址中的数值,数值等于整型变量a。
相关文章推荐
- C语言学习笔记----伊能C语言学习笔记----指针与地址的区别是什么?
- c语言的 地址运算符 & 和 指针运算符* 的区别
- C语言数组和指针的理解_在取地址运算上的操作_指针加减操作_a 和&a 的区别
- c语言指针和地址中 &a 和*a 有啥区别
- c语言 指针与地址的区别
- C语言中的指针和地址的区别
- 关于C语言的指针传递地址的一些思考
- c语言中数组和指针的区别与联系
- C语言中关于字符数组与字符指针的本质区别
- C语言中将绝对地址转换为函数指针以及跳转到内存指定位置处执行的技巧
- c语言中数组名和指针的区别联系
- c语言指针小析以及var++和++var的区别
- [C语言]指针、地址、引用等的学习
- C语言中数组名和指针的区别 及 sizeof用法
- c语言中数组名和指针的区别联系
- C语言中的字符指针与字符数组的一点区别
- C语言指针与数组的区别(1) extern
- C++(typedef、一维数组转成二维数组、C和C++区别、成员地址成员指针、构造析构函数、this指针、const用法、显示时间、const用法)
- C语言中数组名和指针的区别
- c语言中指针中 -> 和 。的区别