当前位置:刘伯温高手心水论坛1 > 软件可移植性 >

C用typedef命令去改变原有的数据数型从而提高程序的可移植性。。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  1、C语言中定义结构体的语法是: struct 结构体名 { 数据成员1; 数据成员2; …… 数据成员n; }; 2、在定义了结构体以后,要想使用该结构体,还需要进行结构体变量的声明,才能在程序中使用该结构体,C语言中定义结构体变量的语法是:(1)struct 结构体名 结构体变量名;另外也可以在定义结构体的时候,直接在后面声明结构体变量,如下的形式:(2)struct 结构体名 { 数据成员1; 数据成员2; …… 数据成员n; } 结构体变量名; 3、用关键字typedef定义结构体,在C语言中,typedef的作用是为数据类型(包括C语言的内置类型)定义一个新的名字,就是取别名的意思,用typedef定义结构体的形式如下: typedef struct 结构名{ 数据成员1; 数据成员2; …… 数据成员n; }结构体别名;实际上上面的写法完成了两步操作(1)第一步定义了一个结构体 struct 结构体名 { 数据成员1; 数据成员2; …… 数据成员n; };(2)第二步为该结构体取了一个别名 typedef struct 结构体名 结构体别名;这样在以后的程序中就可以直接使用结构体别名来声明变量,而不用再用struct和结构体名来声明变量了。该种方法是程序中使用最多的情况。 了解了以上的信息,现在回头看你提出的问题,很明显:第一个就是结构体的定义;第二个就是结构体的定义,然后在后面直接声明变量;第三个就是结构体别名的使用,省去了程序中每次使用结构体的时候都要用到关键字struct。 简单的说以int 为例,在不同的系统里宽度是不同的,有大端在前的也有小端在前的在32位机里 int 是32位宽 在16位机是16位宽,如果把32机里的程序放到16位机编译器程序是运行不对的所以用typedef 定义出 UINT16 UINT32 UINT8 INT16 INT32 INT8 等这类的标准名称,所有的变量都以这些标准名称命名,在不同种机器上用typedef定义出匹配的类型程序就能很好的运行如在32位机上 typedef short INT16 ; 定义16位有符号整形 而在16位机上就要用typedef int INT16 定义16位有符号整形

http://juliekusyk.com/ruanjiankeyizhixing/172.html
点击次数:??更新时间2019-06-07??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】