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 ,p1,*p;

Type *ptr = ...

Int n = ....

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

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

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

学如逆水行舟,不进则退。 博客园技术交流群 群 号:1073255314 (本群没人,刚刚建立 -_-!!! )
原文地址:https://www.cnblogs.com/Mj-NaijAm/p/13600794.html