【发布时间】:2012-08-17 19:43:41
【问题描述】:
我有一个指向字符数组的指针:
space=(char**)calloc(100000,sizeof(char*));
for(i=0;i<100000;i++){
space[i]=(char*)calloc(1,sizeof(char));
}
这样当我使用以下命令时
printf("%s\n",space[0]);
我收到"a b c d e"
我想将"a b c d e" 分配给
char c[10];
这样
printf("%s",c) 产量
"a b c d e"
但是当我尝试时
c=space[0]
我收到以下错误:
incompatible types in assignment
我做错了什么?
【问题讨论】:
-
您不能分配给数组。使用 char * 代替,或使用 strcpy 将 space[0] 的内容复制到 c 中。
-
不要在 C 中强制转换 malloc 的返回值
-
我看不出您如何使用上述代码从该 printf 中获取
"a b c d e"。而且我看不出你到底想做什么。