【发布时间】:2015-10-09 16:28:40
【问题描述】:
不同的指针分配有什么区别?
struct node {
char *name;
struct node *itself;
};
我的问题是-
为什么malloc 结构很重要
指针变量name ?指出一些东西,
而 self_referential 不需要动态分配。
我的意思是两者都是null pointer...那为什么呢??
【问题讨论】:
-
请将问题放在实际帖子中。话虽如此,您需要(有时)为
char *分配,因为它是 C 风格的字符串,并且通常不应该引用外部字符串。 -
@owacoder:
char *既不是字符串,也不是 数组! -
@Olaf - 我知道它既不是字符串也不是数组。 (我不认为我在评论中提到了数组。或者我有吗?)但是,在这种情况下,它被用于名称,这显然是一个 string。
-
@owacoder:你可能知道,但你忘记了其他人——包括 OP——阅读你的评论不是。在帮助站点上正确是必不可少的。不是,它不是一个字符串(类型),而是一个
char array,used 用于store一个 C 字符串。然而它仍然是一个数组! -
@Olaf - 我明白你的意思。我为混乱道歉。我想我应该说“
name被用作指向一系列共同存储名称的连续字符的指针。”这完全避免了整个数组/指针/字符串术语。 ;)
标签: c malloc dynamic-memory-allocation self-reference