| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 788 人关注过本帖, 1 人收藏
标题:很简单的结构体程序,麻烦看看这个程序错在哪
只看楼主 加入收藏
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
收藏
得分:0 
一个是实例 一个是指针 大小不一样感觉很正常。
不过确实2个的时候有问题
[view@localhost c]$cat ss.c
#include<stdio.h>
typedef struct man{
        char name[10];
        int age;
        char phone[12];
}* pMAN;

int main(){
    pMAN a=(pMAN)malloc(sizeof(pMAN)), b = (pMAN)malloc(sizeof(pMAN));
    strcpy(a->name,"hwt");
    a->age=34;
    strcpy(a->phone,"18677151934");
    strcpy(b->name,"hwt");
    b->age=34;
    strcpy(b->phone,"18677151934");
    printf("a man named %s's age is %d,and phone is %s\n",a->name,a->age,a->phone);
    printf("a man named %s's age is %d,and phone is %s\n",b->name,b->age,b->phone);
    exit(0);
}
[view@localhost c]$cc -o ss ss.c
[view@localhost c]$./ss
a man named hwt's age is 34,and phone is hwt
a man named hwt's age is 34,and phone is 18677151934
2011-04-22 00:36
voidx
Rank: 12Rank: 12Rank: 12
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
注 册:2011-4-7
收藏
得分:2 
回复 11楼 khaz
你还不明白呀,当然会有问题啦,你给这个指针分配的空间就不够,他当然会跟其他变量的空间重叠啦~
2011-04-22 00:40
khaz
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:130
专家分:188
注 册:2011-4-21
收藏
得分:0 
谢谢  明白了
2011-04-22 13:49
快速回复:很简单的结构体程序,麻烦看看这个程序错在哪
数据加载中...
 
   



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

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