c - C中结构中的字符串数组

标签 c arrays string struct

说我们有,

typedef struct{
    char* ename;
    char** pname;
}Ext;

Ext ext[5];

我想要做的是填充数据如下:
ext[0].ename="XXXX";
ext[0].pname={"A", "B", "C"};  // and so on for the rest of the array

-- 我很确定这不是正确的做法,因为我遇到了错误。请让我知道执行此操作的正确方法。谢谢。

最佳答案

第一个任务是正确的。

第二个不是。您需要动态分配数组:

ext[0].pname = malloc( sizeof(char*) * 5 );
ext[0].pname[0] = "A";
ext[0].pname[1] = "B";
//and so on
//you can use a loop for this

关于c - C中结构中的字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9522476/

相关文章:

python - 对csv行进行字符串排序

c - c 中的 getchar() 函数

将字符串转换为 long long

python - 在 python 中处理大尺寸数组

string - 在 VARCHAR 字段中使用 MAX()

java - 获取 CSV 文件,将其分割,并将每个分割部分添加到对象的属性中

java - 字符串的有序固定长度组合

c - 模拟ARM代码

C - fprintf() & printf() 删除数组元素内存

java - 如何获取 json 文件中的每个 json 元素并将它们放入数组中