| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 381 人关注过本帖
标题:结构体问题
只看楼主 加入收藏
biancku
Rank: 2
等 级:论坛游民
帖 子:41
专家分:19
注 册:2010-11-30
结帖率:64.71%
收藏
已结贴  问题点数:3 回复次数:2 
结构体问题
#include<stdio.h>
#include<malloc.h>
struct P
{
    int x,y;
};
typedef struct PO
{
    struct P * s;
    struct PO  *next;
}LinkP;
void main()
{
    LinkP  * A ;      
    A=(LinkP *)malloc(sizeof(LinkP));
    A->s->x=2;
    A->s->y=3;
    A->next=NULL;
    printf("<%d,%d>\n",A->s->x,A->s->y);
}
为什么运行时会出现错误呢?
搜索更多相关主题的帖子: 结构体 
2011-06-20 12:22
Toomj
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:257
专家分:1826
注 册:2011-5-17
收藏
得分:2 
添一句:
A->s=(P *)malloc(sizeof(P));(你前面先定义下P:typedef stuct{int x,y;}P;)
2011-06-20 12:39
wuzhanghao88
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:45
专家分:146
注 册:2009-10-25
收藏
得分:1 
#include<stdio.h>
#include<malloc.h>
struct P
{
    int x,y;
};
typedef struct PO
{
    struct P s;
    struct PO  *next;
}LinkP;
void main()
{
    LinkP  * A ;      
    A=(LinkP *)malloc(sizeof(LinkP));
    A->s.x=2;
    A->s.y=3;
    A->next=NULL;
    printf("<%d,%d>\n",A->s.x,A->s.y);
}
这样就行了,我在调试发现它没有分配 地址,也就是没有分配内存! A=(LinkP *)malloc(sizeof(LinkP));和struct P * s;有问题!指针应该无法取得内存!所以老是出错!

2011-06-21 19:59
快速回复:结构体问题
数据加载中...
 
   



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

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