C语言宏定义技巧及注意问题 abstract
前言
在编写程序的时候,我们经常要用到宏定义,宏定义的引入确实大大提高了程序的可读性,可移植性,方便维护.......因此漂亮的宏定义很重要.....使用宏定义也是有一定技巧的,下面是关于宏定义的一些好的常用的方法,据说是一些成熟的软件中常用的....我挑了一些我们能够理解而且实用点的.... 但是,使用宏定义时也要十分小心,有时候会给自己带来一些麻烦,出现一些自己都很郁闷的错误,所以我还加了注意的问题...希望有用......
宏定义技巧
1,防止一个头文件被重复包含
#ifndef COMDEF_H
#define COMDEF_H
//头文件内容
#endif
2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。
typedef unsigned char boolean; /* Boolean value type. */
typedef unsigned long int uint32; /* Unsigned 32 bit value */
typedef unsigned short uint16; /* Unsigned 16 bit value */
typedef unsigned char uint8; /* Unsigned 8 bit value */
typedef signed long int int32; /* Signed 32 bit value */
typedef signed short int16; /* Signed 16 bit value */
typedef signed char int8; /* Signed 8 bit value */
下面的不建议使用:
typedef unsigned char byte; /* Unsigned 8 bit value type. */
typedef unsigned short word; /* Unsinged 16 bit value type. */
typedef unsigned long dword; /* Unsigned 32 bit value type. */
typedef unsigned char uint1; /* Unsigned 8 bit value type. */
typedef unsigned short uint2; /* Unsigned 16 bit value type. */
typedef unsigned long uint4; /* Unsigned 32 bit value type. */
typedef signed char int1; /* Signed 8 bit value type. */
typedef signed short int2; /* Signed 16 bit value type. */
typedef long int int4; /* Signed 32 bit value type. */
typedef signed long sint31; /* Signed 32 bit value */
typedef signed short sint15; /* Signed 16 bit value */
typedef signed char sint7; /* Signed 8 bit value */
3,得到指定地址上的一个字节或字
#define MEM_B( x ) ( *( (byte *) (x) ) )
#define MEM_W( x ) ( *( (word *) (x) ) )
4,求最大值和最小值
#define MAX( x, y ) ( ((x) > (y)) ? (x) : (y) ) #define MIN( x, y ) ( ((x) < (y)) ? (x) : (y) )
5,
相关文档:
【例10.21】用选择法对10个整数排序。
main()
{int *p,i,a[10]={3,7,9,11,0,6,7,5,4,2};
printf("The original array:\n");
for(i=0;i<10;i++)
printf("%d,",a[i]);
printf("\n");
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
{printf("%d ",*p);p++;}
printf("\n");
}
sort(int x[],int n)
......
C的由来
C语言是由UNIX的研制者Dennis Ritchie和Ken Thompson于1970年研制出的B语言的基础上发展和完善起来的.
C的特点
C语言是一种面向过程的语言,同时具有汇编语言和高级语言的优点.C语言可以广泛应用于不同的操作系统,如UNIX,DOS,Windows及Linux等.
C的发展
1973年,C语言第一次被用来编写操作系统(Unix)的内核.Denn ......
我是一个计算机专业的本科生,现在我们刚刚学完了数据结构。据说数据结构对于我们编程很重要,可是我现在不知怎么把数据结构和C语言结合起来,以便更好的进行c语言编程。有哪位高手指点一二,在下感激不尽!
......
第一章 导言
1,定义(define)与声明(declaration)
定义表示创建变量或分配存储单元;而声明指的是说明变量的性质,但不分配存储单元。
第二章 类型、运算符和表达式
1,数据类型及长度
C中只有4种基本数据类型:char ,int ,float ......
上学期间基本上都在windows下编程,就是学了一点LINUX,也是一些基本操作,在LINUX下编程几乎没有过,上班后都是在UNIX下的开发,突然之间有点感觉自己无处下手,感觉不会了,组长让我编一个程序,我想了半天在网上查了半天,有点思路了,在编译时确实错误连连,感觉都很有压力,但我会慢慢习惯的,我相信自己。
问题:
1 ......