gpt4 book ai didi

c++ - C++ 结构中的数组

转载 作者:搜寻专家 更新时间:2023-10-31 00:01:32 24 4
gpt4 key购买 nike

我一直在尝试弄清楚如何将数组添加到结构中……例如,一个整数结构看起来像这样:

struct test{
int a;
int b;
int c;
} test = {0,1,2};

但是如果我想要一个数组,例如:

struct test{
int a;
int b;
int c;
int deck[52];
} test;

这可行吗?一副牌(纸牌)的初始化发生在不同的函数中。当我这样做时,我不会在 struct 中收到错误,但是当我尝试使用它时我会收到错误...例如,如果我这样做 test.deck[ i] = 1; 它给了我这个错误:

Error C2143 Syntax Error missing ';' before '.'

如果我要使用 a ,我可以写成 test.a = 1;

谁能写一个简单的结构,其中的一个变量是一个数组,然后只将它用于一个简单的命令?

最佳答案

如果这是 C++,不是 C,则在结构定义之后删除测试。

以下代码完美运行。

#include <iostream>

using namespace std;

struct Test {
int a;
int b;
int c;
int deck[52];
};

int main (int argc, char* argv[])
{
Test t;
t.deck[1] = 1;
cout << "t.deck[1]: "<< t.deck[1] << endl;
exit(0);
}

问题: 在 C 中,您将测试放在定义之后 以创建一个名为 test 的变量。所以在 C 中,test 不是一个类型,它是一个全局变量,就像你写的那样。

编译:

#include <iostream>

using namespace std;

struct Test {
int a;
int b;
int c;
int deck[52];
} test;

int main (int argc, char* argv[])
{
test.deck[1] = 1;
cout << "test.deck[1]: "<< test.deck[1] << endl;
exit(0);
}

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com