标题:很简单的结构体程序,麻烦看看这个程序错在哪
只看楼主
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-337513-1-1.html




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

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