黑暗之魂2 代码:C语言的指针问题

来源:百度文库 编辑:高考问答 时间:2024/03/29 03:25:10
有如下语句:
int *p=2;
整数2在内存中占用两个字节,那么该指针变量p在内存中占几个字节呢

还有可不可以将一个指针变量的值(即地址)赋值给一个int型变量呢,在编译程序是也能通过,为什么?

指针变量都占 2 个字节,跟数据类型没有关系!
说实在的跟int没什么两样,但是保存的值就是不一样的,编译器是用来规范化你的程序的,也就是这些程序是人家规定好这样编写的,那你就不能乱写,编译器没有出错,是因为这样是没有实际的问题,但理论上是不对的!
你说一个地址跟一个数值有什么不同吗???当你说它是地址时就是地址,不是时就不是,这也是规定出来的!

楼上回答可不完整哦
指针占多少内存要看你电脑的CPU是多少位的
一般32位的占4字节哦

要是不知道的话可以这样

int* p ;
输出 sizeof(p) ;

32位的也不一定哦,还要分长短撒,加上段地址的话是6个字节吧