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-14 01:52:15

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语言学习入门 (八) 结构体和枚举

结构体 它允许内部的元素是不同类型的 结构体的定义 //结构体类型: struct Person { char name[20]; //char *name; int age; float weight; }; //定义一个结构体变量,定义变量时才分配存储空间 structPerson person;    //与类型定义一起使用 struct Student {  //结构体类型与变量同时定义 char *name; int age; } stu; struct {  //省略类型,结构体变量

C++语言学习(八)——操作符重载

C++语言学习(八)--操作符重载 一.操作符重载基础 1.操作符重载的语法 通过operator关键字可以定义特殊的函数,operator本质是通过函数重载操作符. Type operator operatorname(const Type p1, const Type p2) { Type ret; return ret; } 2.友元函数重载操作符 可以将操作符重载函数声明为友元函数. #include <iostream> using namespace std; class Comp

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

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

C语言(八)typedef关键字

一.typedef作用简介 我们可以使用typedef关键字为各种数据类型定义一个新名字(别名). #include <stdio.h>   typedef int Integer;    //为int数据类型定义一个别名 typedef unsigned int UInterger; typedef float Float;   int main(){ Integer i=-10; UInterger ui =11; Float f=12.39f; printf("%d %d %.

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