尝试将md数组分配到struct md数组时遇到问题。
基本上:

typdef struct {
  int num;
  char array[30][80];
} Vars;

然后在main中,我做了一些解析来生成一个字符串数组,它是aclled strArray,也是[30][80]。但是,当我试着这样做的时候
char strArray[30][80] = {"example", "text"};
Vars *vars = (Vars *) malloc(sizeof(Vars);
vars->array = strArray;

我老是出错
error: incompatible types when assigning to type ‘char[30][80]’ from type ‘char (*)[80]’

我试过在for循环中一个字符串一个字符串地执行它,但是不断地得到错误。有什么想法吗?谢谢!

最佳答案

我不知道你想做什么,但你不能给数组赋值。
你可能想要的是

#include <string.h>

size_t i;

for (i = 0 ; i < 80 ; i++)
    strcpy(vars->array[i], strArray[i]);

关于c - 尝试将多维数组分配给结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28933330/

10-12 15:04