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;

推荐教程:《PHP》《C#》

更多相关文章

  1. C语言如何定义变量
  2. C语言中在main函数中定义的变量是全局变量么
  3. c语言中将一个字符串转换到整型数据类型的函数是什么?
  4. C语言中的文件类型只有哪两种
  5. 变量的指针是指该变量的什么
  6. 逻辑运算符两侧运算对象的数据类型是什么?
  7. C语言变量的定义包括变量存储类型和变量的什么?
  8. 在c语言中,引用数组元素时,其数组下标的数据类型允许是什么?
  9. C++隐式类型转换是什么?

随机推荐

  1. 关键词final的用途是什么?
  2. .Net JAVA JS 加密(三方互通)
  3. 增强的for循环中局部变量的范围
  4. javaScript函数中执行C#代码中的函数
  5. thinking in java逍遥游记 之 夜的第四章
  6. Maven编译提示:软件包不存在
  7. java 使用jdbc连接Greenplum数据库和Post
  8. ********** javamaill邮箱发送问题 *****
  9. Java对象引用处理机制
  10. java数组和c中数组的区别