将内存分配给struct-nodes

时间:2013-11-14 09:05:08

标签: c struct malloc

我很想知道有关在c语言中创建结构节点的一个问题

关于struct-objects的分配内存。

我制作了以下简单的代码,打印字母“h”和“e”,并为第一个struct和第二个struct-object分配了内存。试验我删除(发表评论) otf第一个malloc ie( ptrList = malloc(sizeof(list));

实际上 - 没有崩溃 - 它仍然有效,这是我的问题 - 这是什么原因?

对不起凌乱的代码感到抱歉。

 #include <stdio.h>
 #include <stdlib.h>

 struct tList {
    char t[1];
    struct tList *next;
 };

typedef struct tList TList;

 int main(void) {

TList list;
TList *ptrList;
TList *ptrListNext;
//ptrList = malloc(sizeof(list));
ptrList = &list;

strcpy(ptrList, "h");

printf("%s", list.t);

ptrList->next = 0;

ptrListNext = ptrList;
ptrListNext->next = malloc(sizeof(list));
ptrListNext = ptrListNext->next;

strcpy(ptrListNext, "e");

printf("%s", ptrListNext->t);



return EXIT_SUCCESS;
 }

0 个答案:

没有答案