C结构和其他数据类型
发布日期:2021-06-29 11:14:20 浏览次数:2 分类:技术文章

本文共 1844 字,大约阅读时间需要 6 分钟。

1、结构声明和变量声明struct name{};struct name val;列:声明变量 struct book library;简化声明变量 struct book {  char title[100];  char author[100];  float value;} library;初始化结构体struct book library = {  "The Pious Pirate and the Devious Damsel",  "Renee Vivotte",  1.95};指定初始化器    struct book surprise = { .value = 10.99};2、联合(union)是一种数据类型,它能在同一个内存空间中储存不同的数据类型(不是同时储存)。其典型的用法是,设计一种表以储存既无规律、事先也不知道顺序的混合类型。union hold {  int digit;  double bigfl;  char letter;};上面联合储存一个int类型的值或一个double类型的值或char类型的值3、可以用枚举类型(enumerated type)声明符号名称来表示整型常量。使用enum关键字,可以创建一个新"类型"并指定它可具有的值(实际上,enum常量是int类型,因此,只要能使用int类型的地方就可以使用枚举类型)。声明枚举 enum spectrum {red, orange, yellow, green, blue, violet};enum spectrum color;因此,color可能的值是red、orange、yellow等。这些符号常量被称为枚举符(enumerator)。然后,便可这样用:int c;color = blue;if (color == yellow)...;for (color = red; color <= violet; color++)在枚举声明中,可以为枚举常量指定整数值:enum levels {low = 100, medium = 500, high = 2000};4、typedef工具是一个高级数据特性,利用typedef可以为某一类型自定义名称。typedef unsigned char BYTE;随后,便可使用BYTE来定义变量:BYTE x, y[10], * z;还可以把typedef用于结构:typedef struct complex {float real;float imag;} COMPLEX;然后便可使用COMPLEX类型代替complex结构来表示复数。使用typedef的第1个原因是:为经常出现的类型创建一个方便、易识别的类型名用typedef来命名一个结构类型时,可以省略该结构的标签:typedef struct {
double x; double y;} rect;假设这样使用typedef定义的类型名:rect r1 = {
3.0, 6.0};rect r2;以上代码将被翻译成:struct {
double x; double y;} r1= {
3.0, 6.0};5、函数指针void ToUpper(char *);// 把字符串中的字符转换成大写字符void (*pf)(char *);// pf 是一个指向函数的指针pf = ToUpper;//有效,ToUpper是该类型函数的地址列:void ToUpper(char *);void ToLower(char *);void (*pf)(char *);char mis[] = "Nina Metier";pf = ToUpper;(*pf)(mis);//把ToUpper 作用于(语法1)pf = ToLower;pf(mis);//把ToLower 作用于(语法2)函数做为参数void show(void (* fp)(char *), char * str);show(ToLower, mis);//show()使用ToLower()函数:fp = ToLowershow(pf, mis);//show()使用pf指向的函数: fp = pfvoid show(void (* fp)(char *), char * str) {(*fp)(str);//把所选函数作用于strputs(str);//显示结果}

转载地址:https://blog.csdn.net/ZWHSOUL/article/details/80782635 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:C语言位操作
下一篇:C语言的文件输入\输出

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月13日 23时12分00秒