初学者对指针的理解(1)

Sarah@[TOC](如何理解c语言中的指针

标题

初学者对指针的理解(1)

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。很多功能还不太熟练

什么是指针

明白数据在内存中的存储

     当你在程序中定义一个变量,在对程序进行编译时,系统就会给该变量分配一个内存单元。根据定义的变量类型,分配不同的长度空间。如int型变量分配四个字节,float四个字节,char分配一个字节。在内存区每一个字节都有一个编号,就是地址,相当于旅馆中的房间门牌号,则内存区数据相当于房间里的旅客。

指针即地址,地址即指针

通过寻找房间门牌号(地址)可以找到房间,将地址形象的称为指针,通过指针能够找到相对应内存单元,注意:是内存单元不是数据,数据是存储单元的内容。

直接访问与间接访问

例如:k=i+j;
在这里插入图片描述
直接根据地址取出变量i,j的值,将他们相加后的和送到k所占的2008-2007字节单元中去。
i=3;
间接访问是将i的地址作为一个数据放入另一个内存单元(重新定义·一个变量),通过该变量获得i的地址来访问变量i。 从变量i-pointer取出i的地址2000,再从2000字节开始的存储单元中取出i的值3
i-pointer=&a;*i-pointer=3;
这种存放地址的变量叫指针变量。指针变量也占有相应的内存单元。通过该变量的值得到另一变量的地址,用箭头指向另一变量的存储单元。
指针变量的值是地址,即指针。如i的指针变量的值是2000,i的指针是2000,而i的指针变量是i-pointer。

猜你喜欢

转载自blog.csdn.net/weixin_42460304/article/details/84197813