首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

话说指针,该怎么解决

2012-03-25 
话说指针看到很多人说指针就是地址,我站出来说明一下指针不是地址指针是一个变量,它里面的数据,才是内存地

话说指针
看到很多人说指针就是地址,我站出来说明一下
指针不是地址

指针是一个变量,它里面的数据,才是内存地址

地址只是单纯的地址,是表示内存位置的一个数据

而指针不同,指针还提供一个信息,就是指针所指向的地址的数据类型

举个例子:

0x00000001是一个地址
定义两个指针变量
char *pChar = 0x00000001;
int *pInt = 0x00000001;

0x00000001 和 pChar、pInt 是不同的

把 地址 0x00000001 加 1 ,得到的是 0x00000002
是与0x00000001相邻的另一个byte的内存位置

 pChar + 1 ,得到的地址会是 0x00000001+sizeof(char) // 结果也是0x00000002,因为sizeof(char) 是1
 pInt+1, 得到的地址会是 0x00000001+sizeof(int) // 一般32位环境,int 通常是4byte,所以结果是 0x00000005

希望大家对指针能认清

[解决办法]
jf

热点排行