| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 377 人关注过本帖
标题:动态分配问题
只看楼主 加入收藏
小莳
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-6-17
收藏
 问题点数:0 回复次数:3 
动态分配问题

#include <stdlib.h>
#include <stdio.h>

int main( )
{
int *p=malloc(100);
for(int i=0; i<10; i++)
p[i]=i*i;
for(int i=0; i<10; i++)
printf("%d\n", p[i]);
free(p);
int *q=malloc(100);
for(int i=0; i<10; i++)
q[i]=i;
for(int i=0; i<10; i++)
printf("%d\n", p[i]);

}
这个程序可以这样写吗?先对指针P动态申请,然后赋值的时候怎么就可以当数组来用呢?还有既然把它当数组为什么释放的时候不一个一个地释放呢?希望大家帮帮忙。

2007-07-24 20:15
小莳
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-6-17
收藏
得分:0 
还有这个程序有几个编译错误可是我不知道怎么改
2007-07-24 20:17
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 

#include <stdlib.h>
#include <stdio.h>

int main( )
{
int *p=(int*)malloc(100);

for(int i=0; i<100/sizeof(int); i++)
p[i]=i*i;
for(i=0; i<100/sizeof(int); i++)
printf("%d\n", p[i]);
free(p);

int *q=(int*)malloc(100);

for(i=0; i<100/sizeof(int); i++)
q[i]=i;
for(i=0; i<100/sizeof(int); i++)
printf("%d\n", p[i]);

return 0;
}

这样试试


天行健,君子以自强不息!!QQ:68660681
2007-07-24 20:36
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 
定义时[]和使用时[]是有差别的
定义时[]就是定义数组的
使用时[]是地址解析符
这个要理解

偶是菜鸟鸟偶惧WHO?!!!!
2007-07-24 22:15
快速回复:动态分配问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023655 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved