| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1220 人关注过本帖
标题:关于malloc函数~知道的近来看一下哦
取消只看楼主 加入收藏
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
 问题点数:0 回复次数:5 
关于malloc函数~知道的近来看一下哦

我用malloc定义一个动态数组~
#include"stdio.h"
#include"malloc.h"
main()
{int i,j,n;
int *fangzhen;
printf("Input n:");
scanf("%d",&n);
fangzhen=(int*)malloc(n*n*2);
printf("Input fangzhen:");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&fangzhen[i][j])
}
为什么编译说scanf("%d",&fangzhen[i][j])是无效间接运算~而换成
scanf("%d",*(fangzhen+i)+j)就可以了~
但输出时用printf("%d",*(*(fangzhen+i)+j))就又说运算无效~
到底怎么用动态数组?

[此贴子已经被作者于2006-5-10 10:59:19编辑过]

搜索更多相关主题的帖子: malloc 函数 fangzhen int 
2006-05-10 10:33
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 
*(fangzhen+i)+j是地址的啊~我们书上就这么写的~
*(*(fangzhen+i)+j)就是内容了~

很高兴能和大家一起学习程序! QQ:114109098
2006-05-10 11:02
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 
改过来了~juzhen应该是fangzhen

很高兴能和大家一起学习程序! QQ:114109098
2006-05-10 11:03
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 
哦~~~这样啊~~谢谢楼上的了`我先去试一下

很高兴能和大家一起学习程序! QQ:114109098
2006-05-10 11:17
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 

变成**fangzhen后果然可以了~
其实我的原题是求一个关系方阵的自反必包,传递必包和对称必包~


很高兴能和大家一起学习程序! QQ:114109098
2006-05-10 11:22
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 
以下是引用zhangjuan在2006-5-10 19:05:00的发言:

请注意看这一句,&fangzhen[i][j],这是值,如果换成"fangzhen[i][j]),就可以了,这样才是地址,看来楼主还应该看一下
指针那一章

&fangzhen[i][j]这个是值?
比如我定义一个2维数组a[5][5],*p=a;
难道&p[i][j]是值(也就是里面的内容)?


很高兴能和大家一起学习程序! QQ:114109098
2006-05-11 12:38
快速回复:关于malloc函数~知道的近来看一下哦
数据加载中...
 
   



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

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