| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5144 人关注过本帖
标题:结构体包含本身指针如何使用
只看楼主 加入收藏
kelas
Rank: 6Rank: 6
等 级:侠之大者
帖 子:176
专家分:434
注 册:2010-5-28
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <malloc.h>
#include <string.h>
typedef struct info {
    char p[1024];
    struct info * next;
} Info;

Info * test() {
    int count = 10, i;
    Info * head, *p;
    char * s = "hello";
    head = p = (Info *) malloc(sizeof(Info));
    for (i = 0; i < count; i++) {
        p->next = (Info *) malloc(sizeof(Info));
        p = p->next;
        strcpy(p->p, s);
    }
    p->next = NULL;
    return head;
}

int main()
{
    Info *ts;
    char *ss;
    ts = test();
    ss = ts->next->p;
    printf("%s\n",ss);
    return 0;
}
虽然还是有点问题,但方法思路大致应该差不多了??
2011-06-09 12:17
kelas
Rank: 6Rank: 6
等 级:侠之大者
帖 子:176
专家分:434
注 册:2010-5-28
收藏
得分:0 
还有就是分配的内存要哪里释放
2011-06-09 12:22
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:16 
这样就好:

程序代码:
void free_list(info * p) {
    info * q;
    while(p) {
        q = p;
        p = p->next;
        free(q);
    }
}
2011-06-09 12:41
快速回复:结构体包含本身指针如何使用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015021 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved