1:结构体

C语言中定义一个结构体的语法如下:

struct tagMyStruct
{
int age;
int sex;
};

其中,tagMyStruct是结构体名,在使用时,需要和struct 关键字一起使用,代表一个结构体类型,如下:

struct tagMyStruct people1;  其语法类似于  int num; 也就是说struct tagMyStruct 连起来相当于一种数据类型(自定义数据类型)。

people1是一个结构体变量,可以使用点语法访问结构体内部的变量。类似于:

people1.age = 5;
people1.sex = 1;

在定义一个结构体的时候,同时可以声明结构体变量,语法如下:

struct tagMyStruct
{
int age;
int sex;
}testStruct;

定义了一个结构体,同时声明了一个结构体变量testStruct。

2:typedef 关键字

typedef 的使用如下:

typedef  已有类型名称   新名称;

比如:  typedef   int   testInt; 也就是给int类型起了一个别名,testInt num  和 int num 所表示的意思是一样的,都是定义了一个int类型的变量。

typedef 和定义结构体结合起来使用如下:

typedef struct tStruct
{
int age;
int sex;
}ttStruct;

上面的代码其实是完成了两步操作:

1: 定义一个结构体类型,名称是tStruct

struct tStruct
{
int age;
int sex;
};

2:给该结构体类型起了一个新的别名 ttStruct

typedef struct tStruct ttStruct;

此时,ttStruct就表示 struct tStruct,因此在定义结构体变量时,可以使用如下的语法:

ttStruct people3;
people3.age = 8;
people3.sex = 0;

typdef struct 语法的更多相关文章

  1. (转载)struct 与typdef struct的区别

    (转载)http://blog.csdn.net/piratejk/article/details/3491226 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字. ...

  2. C++学习1-(C语言基础、VS快捷键)

    C语言基础复习 1.三码 正数: 3码合1 ,正数的反码/补码就是其本身 负数: 原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值 原码:11010101 负数的反码是在其原码的基础上 ...

  3. Runtime理解

    动态语言 OC是一门不折不扣的动态语言,所以它的很多机制都是动态运行时决定的.这点和C语言不一样,C语言是静态绑定,也就是编译后所有的一切都已经决定了.这一点和C语言的函数指针有些类似,很多时候函数指 ...

  4. Objective-C——Runtime理解

    动态语言 OC是一门不折不扣的动态语言,所以它的很多机制都是动态运行时决定的.这点和C语言不一样,C语言是静态绑定,也就是编译后所有的一切都已经决定了.这一点和C语言的函数指针有些类似,很多时候函数指 ...

  5. Hive函数大全

    一.关系运算: 1. 等值比较: = 语法:A=B 操作类型:所有基本类型 描述: 如果表达式A与表达式B相等,则为TRUE:否则为FALSE 举例: hive> select 1 from l ...

  6. data structure

    转载请注明出处: 我所遇见的世界会更美好 我曾经逢人就说总是遇到这样那样错误无法解决,但是这些问题只要静下心来仔细思考根本没有解决不了的问题. 其实明明,超级超级简单,然而被老师讲的天花乱坠, 栈: ...

  7. Icon资源详解[1]

    本文分享&备忘最近了解到的icon资源在windows平台下相关的一部分知识,所有测试代码都尽可能的依赖win32 API实现.更全面的知识,参考文末列出的”参考资料“.      关键字:I ...

  8. B-树和B+树

    B-树和B+树是一种平衡的多路查找树,它在文件系统中很有用.一颗m阶的b-树,或为空树,或满足下列特性的m叉树.1)树中每个节点至多有m棵子树2)若根结点不是叶子结点,则至少有两棵子树.3)除根之外的 ...

  9. [IoLanguage]Io Programming Guide[转]

    Io Programming Guide     Introduction Perspective Getting Started Downloading Installing Binaries Ru ...

随机推荐

  1. HDU 5311 Hidden String (暴力)

    题意:今天是BestCoder一周年纪念日. 比赛管理员Soda有一个长度为n的字符串s. 他想要知道能否找到s的三个互不相交的子串s[l1..r1], s[l2..r2], s[l3..r3]满足下 ...

  2. 【C#学习笔记】鼠标控制

    using System; using System.Runtime.InteropServices; using System.Windows.Forms; namespace ConsoleApp ...

  3. poj 3181 Dollar Dayz

    题意:给定一个数p,要求用K种币值分别为1,2,3...K的硬币组成p,问方案数,1,2,2和2,2,1算一种方案即与顺序无关,n <= 1000,k <= 100// 用完全背包做了 这 ...

  4. <一>面向对象分析之面向对象和面向过程

    面向对象        ---->注重的是拆分,组装.        ---->封装,继承,多态,复用(只是现象)        ---->面向对象变成的目标从来就不是复用.相反,对 ...

  5. 确实是非常实用的Ubuntu命令

    1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件 文件管理 # ls ls-l或ll 列出当前目录下文件的详细信息 文件管理 # pwd pwd查看当前所在目录的绝对 ...

  6. [转]python类方法

    Python定义类-方法 公有方法.私有方法.类方法.静态方法

  7. AE与AO的区别

    在ArcGis9.0之前,ArcObject还不是一个独立的产品,一直捆绑在Desktop产品中,只要你购买了desktop产品中的一个,你就可 以使用arcboject开发.从ArcGis9.0开始 ...

  8. acdream 1044

    题意:有你一个草坪,草的初始高度都是100,让你用割草机割,割草机只能横着或竖着割,每次割的高度一定,问你能不能割出给定的草坪出来. 考虑任意一个草被割要么是横着要么竖着,所以任意一个草必然是它所在行 ...

  9. bug报告-常用词汇中英对照表

  10. Java内部类this$0字段产生的一个bug

    首先查看下面一段代码,我指出了问题代码的所在,读者先自己思考一下这段代码会有什么问题. 这是用clone方法完整拷贝一个二项堆(BinomialHeap)结构的代码.二项堆中包含一个内部类Binomi ...