C语言回炉(4)


---1.##与#:

--------------在展开宏函数时 若出现#和## 则不再展开 否则先展开宏函数再展开当前宏 解决这个问题的办法即 定义一个中间宏使其展开

--------------ex:

#include <stdio.h>
#include <windows.h>

#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)

int main()
{
	 printf("%s\n", h(f(1,2)));
	 printf("%s\n",g(f(1,2)));

	system("pause");
	return 0;
}

---2.奇偶校验:

-------------------简单的奇(偶)校验则是取字节中的一位作为校验位 将各个二进制位想加 通过改变校验位达成和为奇(偶)的目的

-------------------todo:码距 海明校验 水平与垂直奇偶校验


---3.条件编译:

指令         用途
    #           空指令,无任何效果
    #include    包含一个源代码文件
    #define     定义宏
    #undef      取消已定义的宏
    #if         如果给定条件为真,则编译下面代码
    #ifdef      如果宏已经定义,则编译下面代码
    #ifndef     如果宏没有定义,则编译下面代码
    #elif       如果前面的#if给定条件不为真,当前条件为真,则编译下面代码,其实就是else if的简写
    #endif      结束一个#if……#else条件编译块
    #error      停止编译并显示错误信息

---4.头文件重复包含

--------------------------ex:

/**********************************
*********1.宏定义*****************
*********依赖于宏名称不同*******
*********************************/
#ifndef  _TEST_H
#define _TEST_H

int a = 1;
int b = 2;

#endif _TEST_H


/**********************************
*********2.#pragma once*********
*********依赖于编译器************
*********************************/
#pragma once



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值