读书人

关于指针的有关问题

发布时间: 2012-03-08 13:30:13 作者: rapoo

关于指针的问题
指针数据类型的变量包含哪些信息?
我觉得首先要有它所指对象的首地址信息,但是否包含它所指对象的大小信息呢?
如果不是的话,在申明变量(type * pointer_name;)的时候为什么还要加上数据类型(type)呀?还有在用sizeof求数组所占空间大小时,可以直接用sizeof(数组名),数组名只是一个指针,可以直接用sizeof(数组名)求数组所占空间大小,说明指针里包含有大小的信息。
不知我的猜测是不是正确的,请各位大虾发表一下自己的看法!

[解决办法]
“数组名只是一个指针”
你看书不认真,基本概念错误!
数组不是指针,只不过在需要的时候可以自动转换成指针。
[解决办法]
int * in = new int [22];
cout < <sizeof(in) < <endl;
int s[22];
cout < <sizeof(s) < <endl;
你认为他们两个相同吗?
自己执行一下!
[解决办法]
那在指针数据类型的变量所占的内存中,是否包含有它所指对象的大小信息?还有指针数据类型的变量在内存中占多少字节?
------------------------------------------------

不包含
指针只是一个指向的问题
来对其指向的对象进行操作

在32位系统
所有的指针占 32 个字节
[解决办法]
数组名的本质就是数组。
数组和指针都是C里的内建数据类型,但是是不同的数据类型。

读书人网 >C++

热点推荐