C语言代码页 预处理 和宏 结构体 共用体 枚举 指针简绍

代码页:是字符集编码的别名,也有人称"内码表"

 一般用法system(‘chcp  代码页’)

437标准ANSI码      936 简体中文      932  日语

 有些ANSI码在一些国家没用,所以有些ANSI码被替代为一些特殊的符号所以形成代码页。

 

预处理:程序设计领域中,预处理一般是指在程序源代码被翻译为目标代码的过程中,生成二进制代码之前的过程

 

宏:

优点:  1、增加可持续性。 2、软件设计。

#define  表示宏定义   一般习惯用大写表示宏 小写表示函数。

一般用宏来取代数字结果和功能简单的函数。

Vc项目=test属性页中加 \p 在存储页中找后缀为 .1 的文件查看预编译

Int a   #a  会将a变成“a

##   链接符号,表示后面的是参数不是符号

宏定义只能在一行表示,换行需要在后面加  \

宏要写成函数需要给每个参数加(),整个函数都加()。

#include””优先本目录寻找文件

#include<>非当前目录寻找文件

宏定义和头文件的区别就是头文件是以文件为单位替换的

将宏定义放在头文件中叫条件编译。

 

宏的经典用法

#ifndef  TEST_H   

Void TEXT_printf(char* sz);   

#define  TEST _H

#endif  //使头文件执行一次

 

//#pragma  once    微软发明的使文件只执行一次

 

#define  TEST_PRINTF    //输出测试 

  

#ifdef  TEST_PRINTF

  printf(" ");

#endif  //如果测试全部代码就打开 不测试就使宏定义备注。方便一次测试所有的文件。

 

结构体

自定义数据类型

用法struct tapperson{    char  name[10];int age 20;int sex;}

 

#pargma  pack(数值)数值来设置对齐值

对齐可以使运行运行速度变快,传输数据不会变

 

共用体

Union 标识符

{

Char a;

Double b;

Int c;

}

共用体 在使用时 如果有多次赋值 那么其只保留最后一次赋值操作

特点 共用一段内存空间  根据类型不同而进行不同长度的赋值操作

其长度为  共用体成员最大长度的长度

共用体被称为语法糖  意为编译器作者为程序员提供的某种复杂操作变为简单(实际并没变)操作 一种语法

 

枚举体长度永远为一个int长度(int长度根据平台而定)

共用体长度为其成员最长长度的长度

 

 

 

枚举类型

枚举的作用就是取代宏

Enum colour{redgreenblue}

/不给值不给初始值自动赋值0,12

 

Enum 标识符

 

{

 

符号化常量1 = 10,

 

符号化常量2,

 

.....

 

符号化常量n,

 

}

 

此写法会从10开始

 

 

 

 

指针

主要用于软件设计 *point  简写*p

功能:控制内存

&p取地址

Int *p

Int n1=1n2=2

P1=rand()%2&n1&n2;随机取地址

Printf(“p1=%p  *p=%p\n,p1,*p;

 

 

Type *ptr = ...

 

Int n = ....

 

ptr[n] = *(type*)(int)ptr + sizeof(type)*n

 

ptr +n = type*(const)ptr + sizeof(type)*n

 

指针加整形得到某类型的指针常量

 

posted @ 2020-09-02 11:21  特权E5  阅读(218)  评论(0编辑  收藏  举报