2015-01-10 36 views
-1

我想知道是否有方法可以讓我更換一個結構或數組像下面的名字......我可以在C中替換結構或數組的名稱嗎?

struct Node { 
char Branch[2]; 
int Angle; 
}; 

struct Node A[]={{"F",135},{"D",135},{"G",90}}; 
. 
. 
. 
. 
. 
char Des_Branch= "A"; 

(if Des_Branch[0].Branch == "F") 

.......我想更換A [0 ]Des_Branch [0]。有沒有辦法我可以做到這一點?

謝謝。

+1

從某種意義上說'替換'?更改源代碼中的所有事件? –

+0

如果我理解正確,你想使用其他名稱來引用數組A?爲什麼不使用指針來指向struct數組。 – Rush

回答

3

您可以使用指針爲

struct Node *Des_Branch = A; 

但比較Branch件的內容,你不能使用==經營者,你需要的string.h頭和strcmp

if (strcmp(Des_Branch[0].Branch, "F") == 0) 

和因爲它只是一個字符,你也可以做類似

if (Des_Branch[0].Branch[0] == 'F') 

注意最後一行中的單引號。

1

您可以使用#define。刪除其內容

char Des_Branch= "A"; 

行和第一次使用的Des_Branch在什麼地方添加

#define Des_Branch A 

到文件中。 #define通常放在文件的開頭。

分享和享受。

相關問題