结构体定义

定义结构体数据类型及变量的几种方式

//此声明声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c
//同时又声明了结构体变量s1
//这个结构体并没有标明其标签
struct 
{
    int a;
    char b;
    double c;
} s1;
 
//此声明声明了拥有3个成员的结构体,分别为整型的a,字符型的b和双精度的c
//结构体的标签被命名为SIMPLE,没有声明变量
struct SIMPLE
{
    int a;
    char b;
    double c;
};
//用SIMPLE标签的结构体,另外声明了变量t1、t2、t3
struct SIMPLE t1, t2[20], *t3;
 
//也可以用typedef创建新类型
typedef struct
{
    int a;
    char b;
    double c; 
} Simple2;
//现在可以用Simple2作为类型声明新的结构体变量
Simple2 u1, u2[20], *u3;

而以下这种方式也时常见到

typedef struct QNode

{
QElemType data; //数据域 

struct QNode *next; //指针域 

}QNode,*QueuePtr;

这段代码可以通过以下这个例子来理解

typedef struct int ElemType     //定义了一个int类型的变量ElemType

typedef struct int* ElemTypePtr    //定义了一个int*类型的变量ElemTypePtr

则该结构体定义可以理解为

typedef struct QNode QNode    //QNode 的对象都是结构体

typedef struct QNode* QueuePtr    //QueuePtr 的对象都是结构体指针

 

结构体定义

上一篇:如果写一个android桌面滑动切换屏幕的控件(三)


下一篇:ios7 JavaScriptCore.framework