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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月13日 23时12分00秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
关于RS-485总线,这篇很详细
2019-04-29
关于2021年电赛的一些想法,看到就是赚到!
2019-04-29
教你一秒分辨真假芯片!
2019-04-29
抽奖 | 送STM32开发板
2019-04-29
光立方,永远的神!
2019-04-29
学习STM32很简单?
2019-04-29
电赛 | 电源题软件如何准备?
2019-04-29
手把手教你DIY一款属于自己的万能红外遥控器!
2019-04-29
速看 | 电子元器件如何确定好坏?
2019-04-29
485通信自动收发电路,历史上最详细的解释
2019-04-29
【视觉盛宴三】不好意思,这些线材接口的横截面真的没见过
2019-04-29
一位头发发白的神人教你怎么写程序,运维,买电脑,写文章,平面设计!
2019-04-29
【第二期】那些设计漂亮、有创意的电路板!
2019-04-29
【第三期】那些设计漂亮、有创意的电路板!
2019-04-29
继续推荐公众号~
2019-04-29
「第二篇」全国一等奖,经验帖。
2019-04-29
「第三篇」全国电子设计竞赛,这些你必须知道的比赛细节,文末附上近十年电赛题目下载...
2019-04-29
5G小科普(漫画版,So easy!)
2019-04-29
无人再提华强北
2019-04-29
千万不要小瞧那些不好好写代码的程序员
2019-04-29