3

違いは何ですか

typedef struct node *node_ref;
typedef char *cstring;
struct node {
  cstring string;
  node_ref link;
};

typedef struct node *node_ref;
struct node {
  char string;
  node_ref link;
};

私のプログラムは、どちらの宣言でも警告なしで正常にコンパイルされるため、どのような違いが生じたのかわかりません。

4

1 に答える 1

4

最初のケースではcstringaへのポインタであり、2 番目のケースでは単一のです。char *stringcharchar

どちらも有効なコードですが、意味は大きく異なります。

于 2012-11-15T14:33:39.917 に答える