C:用字符串数组初始化结构

标签 c arrays string struct

我正在尝试执行以下操作,但编译器提示有括号,但是,我找不到替代方法。

struct cards {
  char faces[13][6], suits[4][9];
}

typedef struct cards cards;

void init_struct(cards *s) {
  s->suits = {"hearts","spades","clubs","diamonds"};
  s->faces = {"ace","two","three","four","five",
              "six","seven","eight","nine"
              "ten","jack","queen","king"};
}

我意识到那里有几个可能重复的线程,但没有一个让我走上正轨。我希望你们中的一个能 :) 谢谢

最佳答案

#include <string.h>

typedef struct cards {
    char faces[13][6], suits[4][9];
} cards;

cards base_card = {
    {"ace","two","three","four","five",
     "six","seven","eight","nine", //forgot "," at nine after
     "ten","jack","queen","king"},
    {"hearts","spades","clubs","diamonds"}
};

void init_struct(cards *s) {
    memcpy(s, &base_card,sizeof(cards));
}

关于C:用字符串数组初始化结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16505880/

相关文章:

c - 在C中如何允许&只接受两位数字作为输入?

c++ - 控制鼠标或键盘的程序

string - 输入不完整的strsplit成data.frame

c++ - 如何在 C++ 中重用字符串变量

C++ 字符串 - 超出范围错误

c - 理解同一范围内的声明

java - 为什么在 java 中不允许使用 int a[10]?

c# 我如何在消息框(控制台应用程序)中显示此数组

javascript - 循环数组并填充矩阵 - JS

c# - 如何将数字从文本框转换为 int 数组?