我一直在试图弄清楚如何将数组添加到结构中……例如,整数结构看起来像这样:
struct test{
int a;
int b;
int c;
} test = {0,1,2};
Run Code Online (Sandbox Code Playgroud)
但如果我想要一个数组,例如:
struct test{
int a;
int b;
int c;
int deck[52];
} test;
Run Code Online (Sandbox Code Playgroud)
这是可行的吗?一副(纸牌)的初始化发生在不同的函数中。当我这样做时,我没有收到错误,struct但是当我尝试使用它时我得到了它......例如,如果我这样做,test.deck[i] = 1;它会给我这个错误:
Error C2143 Syntax Error missing ';' before '.'
Run Code Online (Sandbox Code Playgroud)
如果我要使用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);
}
Run Code Online (Sandbox Code Playgroud)
问题:在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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19740 次 |
| 最近记录: |