【发布时间】:2023-03-15 02:32:01
【问题描述】:
这就是我想要做的。 我正在尝试创建一个短变量名来引用甚至更改特定索引处的结构的内容(在本例中,索引号为 1)。它会让我的代码更干净。
问题是如果我使用这些行:
AB C=aridiculouslylongstructname[1];
C.a=20;
C.b=200;
当我设置 C.a 的值时,我无法使 aridiculouslylongstructname[1].a 等于 C.a。有没有更好的方法来修改值,而不必总是在 aridiculouslylongstructname[1].a 中设置值?
完整代码如下:
#include <stdio.h>
#include <stdlib.h>
typedef struct{
int a,b;
}AB;
int main(){
AB aridiculouslylongstructname[2];
aridiculouslylongstructname[1].a=10; //set member a and member b to 10 and 100 respectively
aridiculouslylongstructname[1].b=100;
AB C=aridiculouslylongstructname[1];
printf("A=%d B=%d\n",aridiculouslylongstructname[1].a,aridiculouslylongstructname[1].b);
C.a=20; //trying to overwrite member a and member b to 20 and 200 respectively
C.b=200;
//and reading it with original member
printf("A=%d B=%d\n",aridiculouslylongstructname[1].a,aridiculouslylongstructname[1].b);
return 0;
}
【问题讨论】:
-
C 语言确实有指针...指向内存。