工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
楼主: iptton

关于指针,关于动态申请内存...

[复制链接]
 楼主| 发表于 2006-12-25 17:10 | 显示全部楼层
所以
free(p);
p=NULL;

要成对出现
回复

使用道具 举报

发表于 2006-12-25 17:17 | 显示全部楼层
原帖由 iptton 于 2006-12-25 17:10 发表
所以
free(p);
p=NULL;
要成对出现


如果p是局部变量则可以省去p=NULL;
回复

使用道具 举报

发表于 2006-12-26 10:12 | 显示全部楼层
#include <stdio.h>

int main(){
  int i[2];  //数组所被分配的空间是连续的
  printf("%p %p",&i[0],&i[1]);  // %p为printf 的一种格式,用于输出地址(实际上是输出4字节的十六进制数,注意:这里不时时说明不同编译器下double 等的字节数不同了!)
  getch();
  return 0;
}
我在vc++2005速成版运行了上面的代码
结果是0013ff6c和0013ff70
如果我没有算错应该只差4啊!
哪里有64啊!
而且这个差为什么要除以二才是int变量的位数?不是直接就是每个int变量的位数吗?

[ 本帖最后由 Ja5oN 于 2006-12-26 10:58 编辑 ]

评分

1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2006-12-26 11:36 | 显示全部楼层
SORRY

是错了。。。
在WINTC下是相差2
回复

使用道具 举报

发表于 2006-12-26 11:50 | 显示全部楼层
我也是乱打乱撞,不懂就问而已
回复

使用道具 举报

 楼主| 发表于 2006-12-26 13:40 | 显示全部楼层
上面得到的不是位数差,是字节数差...
回复

使用道具 举报

发表于 2006-12-28 09:35 | 显示全部楼层
extern const SIZE;
这一句是什么意思啊?
回复

使用道具 举报

 楼主| 发表于 2006-12-28 11:39 | 显示全部楼层
extern 是修饰变量的作用域的
const 说明变量不可变值

关于变量的作用域可见第一页
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2025-5-12 22:14

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表