我不确定这是否至少可行,但我想使用具有元素确切名称的变量从我的结构中访问元素。
我的程序对结构的成员进行操作,这取决于用户选择的列,但为了使其更简单(因为这不是重点),我将编写一些简单的行,所以它会是像这样的东西:
(假设我已经用另一个函数填写了列表,但这也不是重点,所以我不会说)
结构,将用于双向链表的每个节点(每个节点表示像具有两列的表中的一行)
typedef struct row {
float A, B;
struct row *prev, *next;
} _row;
主要的
int main(){
char column;
printf("Which column would you like to see? (A or B): ");
scanf("%c",&column);
show_column(column);
system("PAUSE");
}
和功能
void show_column(char column){
_row *aux;
aux=start;
while(aux->next!=NULL){
printf("\n %.2f",aux->column);
aux=aux->next;
}
//this is because that cycle is not going to show the last node
printf("\n %.2f",aux->column);
}
“开始”也是一个 _row 。它被修改为在我插入节点的同一函数中指向列表的起点。
我想知道的是如何在函数中制作这部分:
printf("\n %.2f",aux->column);
因为“列”不是结构中的成员,而是应该包含其中一个成员(A 或 B)的名称的变量。
我需要这个,所以我不必重复相同的代码,而是使用“if”并且只有一个字母 (B) 不同。
很抱歉,如果拼写和语法有问题,我的英语不是很好,非常感谢您的帮助!