本文主要是介绍C-Language-Middle-Operation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、关于宏
1、宏定义
#define [MacroName] [MacroValue]
#define PI (3.1415926)
2、取消宏
#undef [MacroName]
#undef PI
3、带参宏
#define max(a,b) ((a)>(b)?(a):(b))
二、关于typedef
1、重新定义一些类型
typedef unsigned long int uint32; //自定义类型别名,类似于宏替换
2、重新定义结构体名
struct node n; //标准形式
typedef struct node{}NODE; //别名NODE
NODE n; //等价于struct node n;
三目运算符
注释:可替换部分if else运算
条件表达式 ? 表达式1 : 表达式2(a)>(b) ? c : d //成立结果为c,不成立为d
四、#pragma预处理
1、格式
#pragma para
2、常作为注释信息
#pragma ------------分隔符----------- //可在任何地方插入
详细资料请参考:http://c.biancheng.net/cpp/html/469.html
五、#if, #elif, #else, #endif、#ifdef, #ifndef条件编译
注释:类似于if else,只是#if是在更高的维度,相当于代码组之间,一般用于测试两组相似代码
int main()
{
#if 0 //#if 0/1
printf("%d",isPrime(5));
#elseif 1
printf("%d",isPrime(6));
#else
printf("%d",isPrime(7));
#endif; //务必加结尾
return 0;
}
六、断言assert
注释:其实为一个判断bool类型的表达式
#include < assert.h >
void assert( int expression );
实例一:
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
int main( void )
{ FILE *fp;fp = fopen( "test.txt", "w" );//以可写的方式打开一个文件,如果不存在就创建一个同名文件assert( fp ); //所以这里不会出错fclose( fp );fp = fopen( "noexitfile.txt", "r" );//以只读的方式打开一个文件,如果不存在就打开文件失败assert( fp ); //所以这里出错fclose( fp ); //程序永远都执行不到这里来return 0;
}
实例二:
assert(i < 100);i++;
七、#error
注释:相当于编译期的断言,有#error编译通不过,相当于一条提示信息
#error error-message;
这篇关于C-Language-Middle-Operation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!