指针自身是不是不占用内存空间?

刚刚看到了使用new申请内存空间的问题,发现一问题就是指针在声明之后直接赋值的时候会报错例如 int *p; p=100;这样就会出错,需要使用New申请空间后才能够解决错误!问题一:指针在指向整形变量的时候使用的是整形变量里的内存空间吗?问题二:指针的声明的时候是不是并没有赋予存储空间?

问1:指针是一种数据类型,它指向其他变量的地址,不管它指向什么变量,用sizeof()测它的长度为四个字节(windows操作系统下),因为他存放的是地址(地址全是整数),遵循先定义后使用的原则,定义( int *p; )时不分配内存空间,当其赋值(p=&n)时分配内存空间(即变量n的地址),不存在“整形变量里的内存空间”这个学法;问2:哈哈,已在问一回答了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-12
指针是一个变量他自己就是一种数据类型。声明的时候用的数据类型只是他指向的数据类型。与指针的大小无关。指针是变量。自己当然有自己的存储空间。因此指针也是占用内存的。本回答被网友采纳
第2个回答  2013-09-23
1.指针在指向整形变量的时候,它指向的是存放该整型变量的地址.2.指针声明的时候,它的指向是未知的
第3个回答  2019-08-29
指针变量也是一种变量,也会占用存储空间。
相似回答