为什么定义指针变量时要定义其类型

 我来答
xiaowei01357
2012-04-03 · TA获得超过241个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:92万
展开全部
因为指针也可以进行运算,如果不知道指针的类型,我怎么知道你 +1 ,我指着的位置需要向后移动几个字节。对于一个类型来说,他在内存中存的数据方式各不相同,如果我不知道你的类型,我怎么知道你这个片内存中某个部位到底存放着的是什么东西?
打个比方来说,我们有一个 student 类,然后有属性name ,age,id。。如果有这个类型的指针,我就可以通过 student->age获得这个age了,也就是告诉编译器,你这片内存是这么存的,不然编译器怎么知道 student->age到底是那个部分,内存那么大。一个student也许占的内存也不大,但是编译器怎么知道你这个内存中前面存的什么,后面又是什么,定义一个类型,编译器就知道了,可以根据你类的成员属性找到stduent 中 的那一片区域
gui_yang_sun
2012-04-03
知道答主
回答量:43
采纳率:0%
帮助的人:22.9万
展开全部
不是定义其类型,准确的说是定义它指向的东东的类型。比如一个int数据在内存里占的位置是4个字节,那么定义一个指向int的指针就要指向那4个字节大小的空间。
就像去宾馆开房,你总要跟老板说要多大的房间,不然他怎么知道你要多大的。。。总不能把一栋楼都给你吧。。
你不告诉电脑这个指针指向多大一块的空间,它怎么指~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hhmhfhhf
推荐于2018-09-19 · TA获得超过452个赞
知道答主
回答量:226
采纳率:0%
帮助的人:242万
展开全部
虽然所有的指针都只占四个字节,但不同类型的变量却占不同的字节数。
一般来说,int占四个字节,char占一个字节.
如果定义指针变量不定义类型,那么它在取*也就是取其中的值的时候,就不知道应该读取几个字节。
而定义了类型之后。如果是int型的就读四个字节,char型的就读一个字节。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
csjy309450
2012-04-04 · TA获得超过132个赞
知道答主
回答量:20
采纳率:0%
帮助的人:15.1万
展开全部
C语言的特点就是先定义再使用,定义指针变量的类型其实是在规定其存储空间大小。。。所以那是必要的步骤
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
永恒_期待
2012-04-03
知道答主
回答量:11
采纳率:0%
帮助的人:4.4万
展开全部
给指针定义了类型,就会给它(地址)分配对应的空间了。例如int型的指针,它指向的数应该是整数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式