C 语言结构体详解

C语言结构体是一种构造数据类型,也可以称作复杂数据类型,由若干不同类型的变量组成,每个变量都是结构体的成员,每个成员可以是基本数据类型,也可以是构造类型,与面向对象编程中类差不多,只是没有成员方法。

结构体类型变量的定义

定义结构体变量的方法有三种:

1、先声明结构体类型,再定义该类型变量:

struct UDP_Server_Thread_Para
{
    void *pData;
    int Len;
};
UDP_Server_Thread_Para  UDPThreadPara1,UDPThreadPara2;

为了便于理解,可以把struct UDP_Server_Thread_Para 类型类比于 int类型,UDP_Server_Thread_Para UDPThreadPara1,UDPThreadPara2即int UDPThreadPara1,UDPThreadPara2。

2、在声明的同时定义变量:

struct UDP_Server_Thread_Para
{
    void *pData;
    int Len;
}UDPThreadPara1,UDPThreadPara2;

声明和定义变量放在一起比较直观,但是没法用这种方式重新定义新的结构体变量,而且在比较大的代码工程中,为了使程序结构清晰,会对类型声明和变量定义放在不同的位置。

3、不指定类型名直接定义结构体类型变量:

struct
{
    void *pData;
    int Len;
}UDPThreadPara1,UDPThreadPara2;


C 语言结构体详解