首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

malloc 一个数组类型,类型强制转换解决办法

2012-05-12 
malloc 一个数组类型,类型强制转换int len2int *fds[2]fds(int*[2])malloc(sizeof(int*[2])*len)这样

malloc 一个数组类型,类型强制转换
int len=2;
  int *fds[2];
  fds=(int*[2])malloc(sizeof(int*[2])*len);

这样为什么不行, 不可以审请数组类型吗

fork2.c: 在函数‘exec’中:
fork2.c:12:7: 错误:类型转换指定了数组类型


[解决办法]
我了个擦。。。 这C用的 - -

看fds,你的原意应该是说:

int len = 2;
int *fds = NULL;
fds = (int*)malloc(sizeof(int) * 2);

如果这还不是你的原意,你想要的是两个int*,那么:

int len = 2;
int* *fds = NULL;
fds = (int*)malloc(sizeof(int*) * 2);

但我相信第二种不是你的本意。

[解决办法]
fds 是数组名,不是指针。
[解决办法]

探讨

int fds[len][2];
我是想动态申请一个 长度为len 的二维数组。

[解决办法]
fds是常量,不能赋值。
[解决办法]
探讨

int fds[len][2];
我是想动态申请一个 长度为len 的二维数组。

热点排行