我可以在C中替换Structure或Array的名称吗?

时间:2015-01-10 16:01:42

标签: 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")

.......我想用 Des_Branch [0] 替换 A [0] 。我有办法吗?

谢谢。

2 个答案:

答案 0 :(得分: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 :(得分:1)

您可以使用#define。删除读取的行

char Des_Branch= "A";

并添加

#define Des_Branch A
在第一次使用Des_Branch之前,

到某个地方的文件。 #define通常放在文件的开头。

分享并享受。