【发布时间】:2021-04-30 10:09:59
【问题描述】:
在我的项目中,我被要求将我的 2D 单词数组存储在动态数据结构中,然后在其他函数中将它们用于其他目的,但我很困惑我应该如何做到这一点。我明白,如何分别命名它们:
#include <stdio.h>
#include <stdlib.h>
typedef struct Names {
char *name[5];
} Names;
void func(Names y) {
printf("%s\n%s", y.name[0], y.name[1]);
}
int main()
{
Names y;
y.name[0] = "John";
y.name[1] = "Luke";
func(y);
return 0;
}
但是,如果我想将其作为二维数组来做呢?所以通常我会做char names[][10] = {"John", "Luke", etc..}; 但我如何将它存储在结构中?我的意思是如果我这样做了
#include <stdio.h>
#include <stdlib.h>
typedef struct Names {
char *name[5][10];
} Names;
void func(Names y) {
printf("%s\n%s", y.name[0], y.name[1]);
}
int main()
{
Names y;
y.name[][10] = {"John", "Luke"};
func(y);
return 0;
}
那只会给出错误而且毫无意义。
【问题讨论】:
-
从你的问题很难看出,看这个答案stackoverflow.com/a/1095006/2932052
标签: c struct initialization