| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 796 人关注过本帖
标题:这个typedef是什么?结构体不是(struct 结构体名)吗?
只看楼主 加入收藏
gpf
Rank: 2
等 级:论坛游民
帖 子:24
专家分:25
注 册:2013-11-12
结帖率:88.89%
收藏
已结贴  问题点数:10 回复次数:9 
这个typedef是什么?结构体不是(struct 结构体名)吗?
#include<stdio.h>
#include<stdlib.h>
#include"malloc.h"
 typedef struct londe
{
    int data;
   struct londe *next;
}Londe,*head;
typedef struct londe *list;
void creat(list l)
{
    int x;
    int n,i=0;
    scanf("%d",&n);
    printf("输入n:%d\n",n);
    list p;
    p=(list)malloc(sizeof(londe));
    while(p->next!=NULL&&i<n)
    {        
        scanf("%d",&x);
        i++;
        p->data=x;
        p->next=l;
        l->next=p;
        p=(list)malloc(sizeof(londe));
    }
}
void output(list current)
{  
     current=current->next;
    while(current)
    {
    printf("%d\n",current->data);
    current=current->next;
    }
}
int main()
{  
    void creat(list);
    void output(list);
    list m;//
    m=(list)malloc(sizeof(londe));
    m->next=NULL;
    creat(m);
    output(m);
    return 0;
}


搜索更多相关主题的帖子: include 结构体 
2013-11-14 21:53
ouyejie
Rank: 1
等 级:新手上路
帖 子:3
专家分:6
注 册:2013-9-20
收藏
得分:2 
#include<stdio.h>
typedef int uint
void main(void)
{
    uint i=0;//其实就是相当于用int定义了一个i;
   
}
2013-11-14 22:24
似水流年去
Rank: 3Rank: 3
来 自:四川
等 级:论坛游侠
帖 子:71
专家分:128
注 册:2012-10-23
收藏
得分:2 
typedef是重新命名的意思。

[fly]放牛班的春天[/fly]
2013-11-14 22:48
hack1992
Rank: 2
等 级:论坛游民
帖 子:10
专家分:27
注 册:2013-7-4
收藏
得分:2 
typedef struct londe
{
    int data;
    struct londe *next;
}   Londe,*head;

typedef 是重新给 struct londe 取名
不用typedef取名时的结构体 实力化 是这样的,struct londe XXX;
用 typedef 取名后的用法就是 londe XXX; 代替 struct londe XXX;
用 typedef 取名后 *head XXX; 等于 struct londe* XXX;

每天学习一分钟,让自己的生命更精彩!
2013-11-15 01:19
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:2 
typedef的用法就好比你的真名和你的乳名,指的都是你,只是换一种称呼。
比如,typedef int zhengxing;
zhengxing就具有int类型的用法,在声明整型变量的时候可以用zhengxing取代int

思考赐予新生,时间在于定义
2013-11-15 01:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
typedef,即是type define,查字典就知道是什麼意思。typedef是C的語法,C++不需要typedef,在C中其實也是多餘的(這正是C++取消這種語法的原因)。

授人以渔,不授人以鱼。
2013-11-15 01:37
于雷
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2013-11-12
收藏
得分:2 
回复 楼主 gpf
c语言提供了一个称为typedef的功能,用来建立新的数据类型名:
如声明 如typedef int Length,则以后要用到int型变量则只需 Length a,b....

类似的 typedef char *String
将String定义为与char * 同义,以后要声明char * 类型的变量则可用 String a,b...
注意,typedef中声明的类型在变量名的位置出现,而不是紧接着typedef之后 ,且一般用大写字母开头。
这里你可以灵活运用,像typedef int A【4】;则 A a 中的a是一个指向一个大小为三的数组的指针,其空间以分配好了。

还有一个重要的作用是,倘若你在一个int占两字节的系统A下定义typedef int M,而另外一个系统B中int占4字节,若程序从A-》B则只需将int该为同为两字节的short即可,方便移植。

2013-11-15 02:30
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:2 
翻书不就知道了么,关键字的含义这种问题没必要问吧...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-11-15 08:05
liufashuai
Rank: 9Rank: 9Rank: 9
来 自:冥界-魔域-魂殿
等 级:蜘蛛侠
威 望:1
帖 子:370
专家分:1374
注 册:2012-6-22
收藏
得分:2 
重新定义类型名字,但是不会产生新的类型

有一种落差是,你配不上自己的野心,也辜负了所受的苦难。






2013-11-15 09:39
jingyang95
Rank: 1
等 级:新手上路
帖 子:2
专家分:2
注 册:2013-11-15
收藏
得分:2 
自创结构
2013-11-15 13:04
快速回复:这个typedef是什么?结构体不是(struct 结构体名)吗?
数据加载中...
 
   



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

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