
c语言中的指针应该怎么理解?
45个回答
展开全部
在c语言中,所有的的数据都是数值构成的,不同的是编译器根据不同的数据类型赋予该数值不同的意义;所有的数据都是存储在数据空间里的,而存储的空间地址简单说就是该数据的指针。指针被称为c语言的灵魂,充分肯定了该指针的重要性和地位。作为连接数据和地址的纽带,指针灵活的游走于软件和硬件之间。而在c的高级版本中,指针的数值设定为句柄,成为所有数据类型的飘把子。在动态存储领域,指针更是当仁不让的成为所有动态内存的唯一代表,就像一个企业的法人代表一样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针(pointer)和硬件有关。不同的数据类型指针长短不同。实际上指针就是一个内存地址,里面存放着另一地址,而真正的数据在这一地址中,或称间址,间接地址。指针是告诉Compiler分配多大的内存地址空间给所选的变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在C语言中我们可以认为指针就是地址,不过是某一个具体内存单元的地址。如我们在c语言中定义了一个int型变量a。int a;那么计算机就会给a分配4个字节的地址(在vc++中,在某些版本的c语言中,可能是2个字节)来存放a的值。由于在内存中每个字节都有一个地址,那么哪个地址是a的地址呢?我们不能同时用4个地址来表示a的地址吧,所以在c语言中,我们拿这块空间(4个字节)的第一个字节的地址当作变量a的地址,也就是首地址。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针本质就是一个地址,即指针是保存一指向某一块内存空间的地址。至于这块内存空间可能存放着一个整形数,也可能是一个结构,一个数组,更可能是一个函数代码(即函数指针)。单纯指针本身是和其指向数据类型无关,其真实大小取决于你的系统,如32位系统指针即32位,但是,为了保证指针正常访问,如指针数组,我们给指针指定正确的类型,以表示指针指向所保存的数据类型。同时,我们可以通过强制类型转换将指针类型改为任何您需要的类型(可能会很危险):除非您很清楚知道自己在做什么。同样的,与类型转换相一致就是void指针,使用中也必须谨慎。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最近在学习,顺便说说我的理解,欢迎指正,在计算机中包含了数据和指令,指针是寻找和链接这些数据和指令的粘合剂,如果没有指针的话,数据和指令就只能使用相邻的存储空间才能实现程序的顺序执行,因为各类数据或者指令所占内存长度不同所以指针里必须标示访问方式以防混乱,磁盘像一座城市,格式化的大楼里面,住着各有心事的数据,他们通过公路指针彼此走访
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询