[英]Pointer from Variable Name
我已經用字母A到H在鏈表中定義了節點,如下所示:
A = (struct node*) malloc(sizeof *A);
我掃描一個字符串,該字符串為下一個節點命名,並將其更改為變量的名稱。 因此,如果我寫“ 0B”,我希望它采用字符“ B”並指向具有變量名B的對象:
state->zero = B;
無需顯式編寫一個函數,在該函數中,我有一系列的if語句,這些語句將文本輸入轉換為基於輸入的指針輸出。
我該怎么做呢?
#include <stdio.h>
struct node
{
char buf[16];
};
int main()
{
node A;
node B;
node C;
node D;
node E;
node F;
node G;
node H;
char c;
node *nodes[] = {&A, &B, &C, &D, &E, &F, &G, &H};
printf("enter character (Q) to quit: ");
while ((scanf(" %c", &c) == 1) && (c != 'Q'))
{
if (c >= 'A' || c<='H') {
node* mynode = nodes[c - 'A'];
printf("mynode %p\n", mynode);
} else {
printf("Invalid\n");
}
printf("enter character (Q) to quit: ");
}
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.