常见关键字用法(struct,typedef)

一、结构体sturct语法基础:

/*结构体说明:
1、结构体是一种构造数据类型,将不同类型的数据组合成一个整体
2、结构体定义: struct  结构体名  { 类型标识符  成员名; };
3、struct是关键字,不能省略;结构体名可以省略,无名结构体;成员类型可以是基本型或构造型;
4、结构体变量的定义:
   (1)先定义结构体类型,在定义结构体变量: struct 结构体名 {类型标识符  成员名;};  struct 结构体名  结构体变量名;
   (2)定义结构体类型的同时定义结构体变量: struct 结构体名 {类型标识符  成员名;} 结构体变量名;
   (3)直接定义结构体变量(没有结构体名的无名结构体):struct  {类型标识符 成员名;} 结构体变量名; 这样没有结构体名的,只能这样定义一次,也就是说不能再向(1)那样在后面随意定义了
5、结构体变量的引用:
   (1)结构体变量不能整体引用,只能引用变量成员
   (2)结构体变量引用方式:结构体变量名.成员名
   (3)例如 struct 结构体名 {类型标识符 成员1;} 结构体变量1,结构体变量2;这样,可以把一个变量赋值给另一个变量,如 结构体名.变量1=结构体名.变量1;
6、结构体变量的初始化:
   (1)形式一:struct 结构体名 { 类型标识符  成员名;} ; struct 结构体名 结构体变量={初始数据};
   (2)形式二:struct 结构体名 { 类型标识符  成员名;} 结构体变量={初始数据};
7、结构体数组:
   (1)结构体数组就是,用一个数组来包括所有的结构体变量,数组的每个元素,就是一个结构体变量;
   (2)形式一:struct 结构体名 { 类型标识符  成员名;} ; struct 结构体名 结构体数组
   (3)形式二:struct 结构体名 { 类型标识符  成员名;} 结构体数组;
   (4)形式三:struct { 类型标识符  成员名;} 结构体数组;
8、结构体数组初始化:在前面的基础上加上初始变量组的各个成员
   (1)形式一:用大括号将各个变量的一组成员括起来:结构体名 结构体数组名[]={ {成员1值1,成员2值1},{成员1值2,成员2值2};
   (2)形式二:如果不加括号分开,那么按顺序排:结构体名 结构体数组名[]={成员1值1,成员2值1,成员1值2,成员2值2};
9、结构体和指针
   (1)指向结构体变量的指针
      a.定义形式:struct 结构体名 *结构体指针名;
      b.使用结构体指针变量引用成员形式:(*结构体指针名).成员名 或者 结构体指针名->成员名  或者  结构体变量名.成员名
   (2)指向结构体数组的指针
   (3)用指向结构体的指针作函数参数
      a.用结构体变量的成员作参数----值传递
      b.用指向结构体变量或数组的指针作参数----地址传递
      c.用结构体变量作为参数------多值传递,效率低
*/

二、typedef语法基础:

/*
typedef说明:
1、typedef是C语言的关键字,作用是为一个数据类型定义一个新的数据类型,它并没有新建一种新的数据类型,只是把原有数据类型换了一个名字而已
2、用法一:为现有的数据类型定义同义词,便于记住和归类使用等,格式:typedef  原有数据类型  定义新的名字;定义之后,可以在任何需要使用原数据类型处,用新的名字替换;例如:typedef int size; 以后就都可以用size来代替int;
3、用法二:用来掩饰复合类型:
           a.数组,格式:typedef 原数据类型名  数组; 例如:typedef char line[81];以后line a, b; 就等价于 char a[88],b[88];
           b.指针,格式:typedef const 原数据类型名  指针 ;例如:typedef char *pstr; 以后使用pstr就相当于char *;(只要是指针生命typedef,不管什么时候都需要在typedef中加一个const,以使得该指针本身是常量,而不是对象。
4、用法三:在链表(struct)中的应用:格式:typedef struct {类型标识符,成员名 }结构名别名;例如:typedef struct { int a; int b;} MY_TYPE; 这样声明之后,以后如果需要定义结构就直接MY_TYPE tmp;tmp是满足这个结构的一个变量;
           如果没有家typedef的话,后面直接定义肯定不能省略结构体名,定义的时候struct 结构体名 变量名,这样的形式来定义了
*/

时间: 2024-10-07 14:52:21

常见关键字用法(struct,typedef)的相关文章

PHP 面向对象中常见关键字使用(final、static、const和instanceof)

PHP 面向对象中常见关键字的使用: 00x1.Final :final关键字可以加在类或者类中方法之前,但是不能使用final标识成员属性. 作用: 使用final标识的类,不能被继承. 在类中使用final标识的成员方法,在子类中不能覆盖. 总结:final表示为最终的意思,所以使用final关键字的类或者类中的成员方法是不能被更改的. 00x2.Static :static关键字将类中的成员属性或者成员方法标识为静态的,static标识的成员属性属于整个类,static成员总是唯一存在的,

LINUX 下 find grep sed awk 的常见基本用法特点

LINUX 下 find grep sed awk 的常见基本用法特点 只为让自己具有更高的水准,这就开始了长达6个月的小白进阶路! 这几天学习linux基础命令有点犯蒙,尤其是对文件查找这块.所有我想把一些我觉得常用的实用的参数项总结下来,大神勿喷哈... 不到之处请大家指教,小女子在此谢过了. 一.find:命令用于查找文件系统中指定的文件,其命令格式为: 1.find pathname -options [ -print  -exec  -ok ... ] (1)find 命令的参数: p

Python中.format()常见的用法

format()格式化输出 format():把传统的%替换为{}来实现格式化输出 format()常见的用法: 其实就是format()后面的内容,填入大括号中(可以按位置,或者按变量) '数字{1}{2}和{0}'.format("123",456,'789') >>>'数字456789和123' #这里注意有两层大括号,输出的结果只有一层大括号 '数字{{{1}{2}}}和{0}'.format("123",456,'789') >&g

Java下static关键字用法详解

Java下static关键字用法详解 本文章介绍了java下static关键字的用法,大部分内容摘自原作者,在此学习并分享给大家. Static关键字可以修饰什么? 从以下测试可以看出, static 可以修饰: 1. 语句块 2. 成员变量(但是不能修饰局部变量) 3. 方法 4. 接口(内部接口) 5. 类(只能修饰在类中的类, 即静态内部类) 6. jdk 1.5 中新增的静态导入 那么static 修饰的表示什么呢? 当创建一个类时,就是在创建一个新类型,描述这个类的对象的外观和行为,除

Java操作mongoDB2.6的常见API用法

对于mongoDB而言,学习方式和学习关系型数据库差不太多 开始都是学习如何insert.find.update.remove,然后就是分页.排序.索引,再接着就是主从复制.副本集.分片等等 最后就是通过它提供的各个驱动(比如Java.PHP.node.js等等)来练习所谓的高级用法 另外:相对于Oracle有PLSQL Developer,MySQL有HeidiSQL mongoDB也不例外,它的图形化工具中有一款叫做mongoVUE的,我用的是1.5.3破解版(不是每15天就得改一次注册表的

php面向对象-常见关键字和魔术方法

一.常见关键字和魔术方法 1.final: 使用final 标识的类不能被继承 在类中使用final 表示成员的方法,在子类中不能被覆盖 注意:不能用final 标识成员属性 例1: <?php final class Person{ public $name; } class Stu extends Person{ } 运行之后:Fatal error: Class Stu may not inherit from final class (Person) 例2: <?php class P

【转】Java 枚举7常见种用法

原文网址:http://softbeta.iteye.com/blog/1185573 Java 枚举7常见种用法 博客分类: java java枚举enmu 原创地址:http://blog.lichengwu.cn/java/2011/09/26/the-usage-of-enum-in-java/ JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. 用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fi

ava下static关键字用法详解

Java下static关键字用法详解 本文章介绍了java下static关键字的用法,大部分内容摘自原作者,在此学习并分享给大家. Static关键字可以修饰什么? 从以下测试可以看出, static 可以修饰: 1. 语句块 2. 成员变量(但是不能修饰局部变量) 3. 方法 4. 接口(内部接口) 5. 类(只能修饰在类中的类, 即静态内部类) 6. jdk 1.5 中新增的静态导入 那么static 修饰的表示什么呢? 当创建一个类时,就是在创建一个新类型,描述这个类的对象的外观和行为,除

C++const关键字用法

const关键字是C++新引进的关键字,目标是用于定义常量,避免C语言中使用宏定义出现的边际问题,并且const是类型安全的,即const定义的是不可修改值的变量,它是有类型的,但是宏替换只是简单的进行字符串的替换,容易出现边际问题,造成错误.但是const的用法并不仅仅在此,因此整理一下,加深理解 C++const关键字用法