如果成员1没有给出整数,默认为0,之后的元素以1递增,成员名不能重名 。
使用定义的枚举类型为 enum 定义的枚举类型名字
共同体(联合,union)是一种构造类型,几个成员共用一个内存空间,最后的大小取决于占用内存最大的成员,其基本形式是
union 共同体名称{
数据类型 成员名1
数据类型 成员名2
。。。。
数据类型 成员名n
};
使用已定义的共同体类型为 union 已定义的名字
预处理指令
文章插图
所有的预处理指令都是在程序编译以前就执行的指令,且前面都是#开头 。
#include指令是包含指令,在编译以前将给定的文件包含进去,有两种形式#include <文件名>和#include "文件名",其中前一个是让预处理程序到预定义的缺省路径下寻找文件,后一种是让其先在源代码文件的当前目录下寻找文件,然后在默认路径下找 。
#define 目标1 结果1,是讲非双引号之外的内容进行简单的文本替换(结果1可以有多个空格),常见的形式为
#define pi 3.1415926
#define text “Hello world”
如果定义了函数的替换,函数的参数会在代码里简单的替换成目标指令
目标中的 #表示将参数变成字符串,##是连接两个字符串的
#define M(x,y) (x)*(y)
M(3+5,2+7)相对于(3+5)*(2+7)
#define paster( n ) printf( "token " #n" = %d ", token##n )
paster(9);相对于printf("token 9 = %d ",token9);
当然,如果替换的内容很长,又不想写在一行上,就可以在一行的末尾用结尾,然后另起一行继续写
#define menutext "1.scanf()
2.printf()
3.exit "
#if预处理是一个和类似于if语句的预处理指令,如果为真就执行#if和#else或者#elif之间的语句,否则就会执行后面的#else或者进行#elif的判断(else if的省略)
#ifdef和#ifndef比较特殊,它是判断前面有没有#define定义的标识符 执行方式类似于#if
#endif是结束前面预处理指令的判断
其他typedef关键词是为一个数据类型其另外一个名字,并不是生成了一个新的类型,形式是typedef 数据类型 别名比如
typedef struct {int a;int b; int c;} ok;
typedef unsigned long DWORD;
个人吸收他人的一点见解
其实数组的定义应该是类似于java标准的定义int [2] a={2,3};(实际这样写C语言会报错)而且严格意义上来说,a指向的类型是int [2]类型,&a[0]指向的类型是int类型,除非是作为sizeof或者单目&操作符的操作数,C语言都将数组名弱化为基本的类型只是方便我们的处理 。
希望对你有帮助!
————————
另外,对于准备学习C/C++编程的小伙伴,如果你想更好的提升你的编程核心能力(内功)不妨从现在开始!
编程学习书籍分享:
文章插图
编程学习视频分享:
整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
【c语言char什么意思 视频 c语言中char什么意思】对于C/C++感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些C/C++的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!
推荐阅读
- 一英尺有多长多少厘米,一英尺有多长啊
- 生死对决,巴基斯坦为何可以和军力世界第四的印度抗衡?
- 如何注销微信账号 如何注销微信账号
- 法西斯国家为什么会被世界人民推翻?
- 三星猎户座1080处理器相当于骁龙多少_三星猎户座1080处理器参数
- 怎样改照片像素和尺寸大小 像素和尺寸的关系
- 请问越来越多的女生开始玩王者荣耀,是好事还是坏事?
- airpods2和1怎么区分 airpods一代和二代区别
- 苹果手机的小圆点怎么设置锁屏 苹果手机的小圆点怎么设置