C语言学习入门 (九) typedef 关键字

关键字:typedef

用法:为各种数据类型定义一个新名字(别名)

typedef与基本数据类型

typedef int Integer;Integer
a= 8;

也可以在别名的基础上再起一个别名

typedef IntegerMyInteger;MyInteger aa = 8;

原来的数据类型也可以正常使用

typedef与指针

typedef char *String;String
str = “stone”;

typedef与结构体

typedefstructPerson Per;// 这样在定义结构体变量时
就不用带上struct 关键字了

Per p; p.name = “xyz”;

定义并取别名:

typedefstruct Student// 结构体名 Student 可以省略

{

int age;

} Stu;

void processStudent()

{

Stu student = {18};

student.age =19;

}

typedef与指向结构体的指针

typedef struct

{

int age;

} Stu;

Stu stu = {20};

typedef Stu *S;//指向结构体的指针  取别名 S

S s = &stu;

typedef struct LNode

{

int data;

struct LNode *next;

} LinkList, *SList;

int main(int argc, const char * argv[])

{

LinkList l = {1, NULL};

LinkList ll = {2, NULL};

l.next = ≪

printf("%d, ", l.next->data);

SList sl = ≪

if (sl->next != NULL)

printf("%d, ", sl->data);

return 0;

}

typedef与枚举类型

typedef enum

{

} Season;

//用法与结构体类似

typedef与指向函数的指针

int sum(int a, int b)

{

return a + b;

}

void main()

{

typedef int (*P)(int a, int b);

P p = sum;

int result = (*p)(3, 5);

return 0;

typedef与#define

typedef char *String;

String s = “abc”

#define String char *;

String s = “abc”;  //这样使用效果一样

当 这样使用:

String s1,s2; //用第一种替换: char *s1, char *s2;

String s3,s4; //用第二种替换: char * s3, s4;   <==>  char *s3, char s4;

时间: 2024-10-17 13:51:05

C语言学习入门 (九) typedef 关键字的相关文章

C语言学习入门 (八) typedef 关键字

关键字:typedef 用法:为各种数据类型定义一个新名字(别名) typedef与基本数据类型 typedef int Integer;Integer a= 8: 也可以在别名的基础上再起一个别名 typedef IntegerMyInteger;MyInteger aa = 8; 原来的数据类型也可以正常使用 typedef与指针 typedef char *String;String str = "stone"; typedef与结构体 typedefstructPerson P

C++语言学习(九)——多态

C++语言学习(九)--多态 C++中所谓的多态(polymorphism)是指由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应.    多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性.可以减轻系统升级,维护,调试的工作量和复杂度. 多态是一种不同层次分类下的重要联系,是一种跨层操作. 一.多态实现的前提 赋值兼容规则是指在需要基类对象的任何地方都可以使用公有派生类的对象来替代.赋值兼容是一种默认行为,不需要任何的显式的转化步骤,只能发生在public继承方式中,是多态

C语言第四讲,typedef 关键字,以及作用域

C语言第四讲,typedef 关键字,以及作用域 一丶typedef关键字 在C语言中,有typedef 关键字,这个关键字的作用就是允许你为类型定义一个新的名字,也就是 起个别的名字 例如: typedef unsigned int DWORD 那么以后,我们定义unsigned int 类型的变量的时候,这不用敲写 unsigned int 了.直接DWORD即可. 例如: DWORD name = 0; 一般常常用在 结构体的定义,和函数指针上. 例如: typedef struct My

C语言学习入门 (一) 编译、链接、关键字、数据类型、printf函数

参考链接:http://blog.csdn.net/jjwwmlp456/article/details/41676225 编译文件:cc -c one.c two.c  生成.o目标文件 链接文件:cc one.o two.o     默认生成 a.out 执行文件 指定生成的可执行文件名   cc -o one one.o 连续编译.链接:cc one.c      cc -o one one.c    中间生成的.o文件会被删除,最后生成执行文件 cc one.c two.c   源文件超

C语言学习入门 (七) 变量与函数,static和extern关键字

局部变量 1> 定义:在函数内部定义的变量,称为局部变量.形式参数也属于局部变量. 2> 作用域:局部变量只在定义它的函数内部有效,即局部变量只有在定义它的函数内部使用,其它函数不能使用它. 全局变量 1> 定义:在所有函数外部定义的变量,称为全局变量. 2> 作用域:全局变量的作用范围是从定义变量的位置开始到源程序结束,即全局变量可以被在其定义位置之后的其它函数所共享. 变量的存储类型 C语言根据变量的存储类型(变量存储的位置:1. 运行时堆栈 2.普通内存 3.寄存器)的不同,

C语言学习入门

编译文件:cc -c one.c two.c  生成.o目标文件 链接文件:cc one.o two.o     默认生成 a.out 执行文件 指定生成的可执行文件名   cc -o one one.o 连续编译.链接:cc one.c      cc -o one one.c    中间生成的.o文件会被删除,最后生成执行文件 cc one.c two.c   源文件超过一个时,目标.o文件便不会被删除, 以后可以只编译更改的源文件  cc one.o two.o three.c C语言32

C语言学习笔记(二) static关键字详细分析

C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)或者函数只能在一个源程序中定义一次,如果有重复定义的话编译器就会报错.伴随着不同源文件变量和函数之间的相互引用以及相互独立的关系,产生了extern和static关键字. 关键字static有着不寻常的历史.起初,在C中引入关键字static是为了表示退出一个块后仍然存在的局部变量.随后,static在C中有了第二种含义:用来表示不能被其它文件访问的全局变量和函数.为了避免引入新的关键字,所以仍使用st

Erlang语言学习入门

学习资料: 官方Doc:http://www.erlang.org/doc.html 写的特别详细: http://www.cnblogs.com/zhengsyao/ (强推,写得很详细) 系统技术研究:http://blog.yufeng.info/ 庄周梦蝶erlang板块:http://www.blogjava.net/killme2008/category/20770.html 博客园的一位大牛:http://www.cnblogs.com/lulu/category/559387.h

R语言学习入门

R语言的概念 R是用于统计分析.绘图的语言和操作环境.R语言的编译软件下载:https://www.r-project.org/ R语言环境下载: