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