黑马程序员-预处理-枚举-typedef

预处理指令

格式: #define 宏名值

#define COUNT 6 //从该行开始一致到文件结束

1.所有的预处理指令都是以#开头

2.预处理指令分3种

1>宏定义

2>条件编译

3>文件包含

3.预处理指令在代码翻译成0和1之前执行

4.预处理的位置是随便写的

5.预处理指令的作用域:从编写指令的那一行开始,一直到文件结尾,可以用#undef取消宏定义的作用  #undef COUNT 那么后面无法再调用COUNT

6.宏名一般用大写或者以k开头,变量名一般用小写

带参数的宏:  //k可以再代码翻译成0和1之前就执行宏

#define  sum(num1,num2) ((num1)+(num2))

枚举:只有固定取值的情况下用枚举

#include<stdio.h>

int main(){

enum season{

        spring, // 整形常量0

        summer, // 整形常量1

        autumn, // 整形常量2

        winter  // 整形常量3

    };

enum season s = winter;

printf("%d",s);

}

typedef的使用

1.作用:给已经存在的类型起一个新的名称

2.使用场合:

1> 基本数据类型

2> 指针

3> 结构体

/*

struct Student

{

int age;

};

typedef struct Student MyStu;

*/

或者以以下方式书写

/*

typedef  struct Student

{

int age;

} MyStu;

*/

4> 枚举

typedef enum {

Man,

Woman

} MySex;

5> 指向函数的指针

/*

typedef int (*MyPoint)(int, int);

int minus(int a, int b)

{

return a - b;

}

int sum(int a, int b)

{

return a + b;

}

时间: 2024-12-14 18:07:02

黑马程序员-预处理-枚举-typedef的相关文章

黑马程序员——Java枚举和自动装箱

------- android培训.java培训.期待与您交流! ----------                                                                            枚举类和自动装箱     一.枚举      枚举由不重复的常量构成,在java中使用enmu关键字定义枚举,所有的枚举会自动继承java.lang.enmu. 比如定义交通灯的枚举. publicenumTrafficLamp { RED ,GREED,YEL

【黑马程序员】————枚举

一.枚举的概念 枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数.当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型.比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天.夏天.秋天.冬天. 二.枚举类型的定义 一般形式为:enum 枚举名 {枚举元素1,枚举元素2,……}; enum Season {spring, summer, autumn, winter}; 三.枚举变量的定义 前面只是定义了枚举类型,接下来就可以利用定义好的枚

《黑马程序员》 关键字---typedef (C语言)

作用:给已存在的变量起一个新的名称 使用场合: 1.基本数据类型 #include <stdio.h> typedef int Myint; //给int类型顶定义一个别名Myint typedef Myint Myint2; //也可以给Myint再定义一个别名Myint2 int main() { int a; Myint i =10; //以新名称定义整形变量 Myint2 b = 20; printf("i = %d\tb = %d\n",i,b); //输出变量的

&lt;&lt;黑马程序员&gt;&gt;预处理指令

预处理命令 ①  宏定义    ②  条件编译    ③  文件包含 宏定义: #define  A  5       不带参数的宏       ①  所有的预处理命令都是以#开头:       ②  预处理命令在程序翻译成0和1之前将程序中的A替换成5:       ③  预处理的作用域是在预处理命令开始的那一行开始,到程序的结尾:       ④  宏名一般用大写或者以看k开头,变量名一般用小写:   #define pingfang(a)  ((a)*(a))       ①  带参数的宏

黑马程序员_枚举

-----Java培训.Android培训.iOS培训..Net培训.期待与您交流! 与上篇文章介绍的相同,本文也是介绍jdk 1.5出现的新特性,本文将介绍枚举的相关用法. 在jdk 1.5 之前.Java可以有两种方式定义新类型:类和接口.对于大部分面向对象来说.这两种方法看起来似乎足够了.但是在一些特殊情况下,这些方法就不合适.例如:想定义一个Color类,它只能由Red.Green.Blue三种值,其他的任何形式都是非法的.那么jdk 1.5之前虽然可以构造出这样的发image,但是要做

黑马程序员_java枚举的使用

1. 什么是枚举 所谓枚举是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内.比如星期,一年中的四季,颜色值等都可以使用枚举进行列举出来. 2. 枚举类的前世今生 在jdk5以前的,要使用枚举那是不可能的,因为那个时候还没有呢,从5之后就有了枚举.其实一个枚举中的实例对象都是被static final 修饰的,因此我们可以使用普通的类进行模拟. // 使用普通类来模拟一个枚举类(类用来描述星期) // 不带抽象方法 public class WeekDay { // 禁止创建对象 p

黑马程序员----预处理指令(宏定义、条件编译、文件包含)

预处理指令共有三种: 宏定义: 条件编译: 文件包含: 一.预处理指令的执行时刻: 在代码翻译成0和1之前 二.预处理指令的特点: 1.预处理指令都是以#号开头: 2.预处理指令的位置可以随便写的: 3.预处理指令的作用域:从编写指令的哪一行代码开始,一直到文件结尾,或者遇到相应的#undef.... 三.宏定义(#define) 1.不带参数的宏定义: 例: #define COUNT 4      //  注意:这里没有分号 ....... #undef COUNT 注意: 1.宏名一般用大

黑马程序员_枚举总结

/* 1.枚举:枚举就是一个类,也即一种数据类型,引用数据类型.只不过是一个特殊的类.这个类的引用(变量)或者这种数据类型的变量(引用),它的值是由定义该数据类型的人来指定的,即它的取值是在枚举中定义好的,就那么几个值,如果不是这些列出来的值,编译器在编译的时候就会报错. 2.枚举的好处:将一种数据类型的所有取值限定在指定范围内.使得该数据类型的变量在取值时,不会出现非法赋值的情况,如果有,则可以在编译时期就被发现,避免了一些错误赋值导致的问题发生. 3.枚举的定义: enum 枚举类型名 //

黑马程序员-C学习笔记之预处理指令

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.什么是预处理指令 预处理指令是告诉编译器在编译之前预先处理的一些指令,有宏定义,文件包含,条件编译. 预处理指令一般以 # 号开头,可以出现在文件的任何地方,作用于整个文件. 二.宏定义 宏定义分不带参数的和带参数的宏定义.     1?不带参数的宏定义 #import <stdio.h> #define AGE 10 // 宏名用大写 int ma