作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的意图:在不使用 union 的情况下循环遍历一个结构的 30 个成员,所有成员都是字符数组类型,每个成员都存储对 itoa 的调用结果。在下面的代码中,我将结构体成员命名为a-z、A-D。在调用函数中,我初始化这些字符的字符串,称为“字母”,然后尝试通过使用增量变量作为字母的索引引用它们来循环遍历结构成员。然后,我尝试转储结构中每个成员的内容。 **编辑:我意识到,考虑到您可以看到的代码,成员不会包含任何内容。问题似乎在于引用这样的结构成员。
struct listArrays {
char a[10];
char b[10];
char c[10];
char d[10];
char e[10];
char f[10];
char g[10];
char h[10];
char i[10];
char j[10];
char k[10];
char l[10];
char m[10];
char n[10];
char o[10];
char p[10];
char q[10];
char r[10];
char s[10];
char t[10];
char u[10];
char v[10];
char w[10];
char x[10];
char y[10];
char z[10];
char A[10];
char B[10];
char C[10];
char D[10];
};
struct listArrays Ternaries;
int testTernary(){
char letters[30] = "ABCDabcdefghijklmnopqrstuvwxyz";
int i;
for(i = 0; i < 30; ++i){
dumpArray((Ternaries.(letters[i])), 10);
}
return 0;
}
我得到的错误是“'('标记之前的预期标识符。”
我已经排除的问题:
-The dumpArray function works fine.
-Looping through the letters works fine, outside the context of the
referral to struct members
最佳答案
标识符(名称)仅存在于程序文本中。一旦编译和链接,它们就不再存在。所以你不能“索引”该字母的结构。你能做的是:
struct listArrays {
char letters[30][10];
};
现在您可以访问这些“字母”:
dumpArray((Ternaries.letters[i]), 10);
关于c - 循环遍历 C 结构体(不带 union 体),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43005762/
我是一名优秀的程序员,十分优秀!