搜索
首页 电脑/网络 软件

C语言中动态内存分配问题

我定义了一个float **a;int n,m;scanf(“%d%d”,&n,&m);a=malloc(sizeof(float)*m);for(i=1;i<m;i++) a[i]=malloc(sizeof(float)*n);但是它却说Lvalue requiredillegal use of floating point为什么啊 !!!!!!!!!!

全部回答

2006-05-14

78 0
    楼上的回答太长了阿!你看问题用的是scanf就知道是c而不是c++拉 你这么用会让人摸不到头脑的 我借花献佛 举个例子: #include #include main() { char *p; p=(char *)malloc(100); if(p) printf("Memory Allocated at: %x",p); else printf("Not Enough Memory!\n"); free(p); getchar(); return 0; } 如果不是用法的原因的话, a[i]=malloc(sizeof(float)*n); 指向指针类型指针数组! 那么a=malloc(sizeof(float)*m);这句就是错的 定义时用指向 float **a[definenum] 两行分配内存语句改成! a->(float *)malloc(sizeof(&m)); a[i]=(float *)malloc(sizeof(&n)); 你去试下吧!。
    。

2006-05-14

86 0
float **a; ->浮点类型指针 int n,m; scanf(“%d%d”,&n,&m); a=malloc(sizeof(float)*m); ->应该强制类型转换!! for(i=1;i应该强制类型转换!!

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
软件
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
软件
多媒体软件
系统软件
办公软件
网络软件
图像处理软件
举报
举报原因(必选):
取消确定举报