预处理

1.宏定义

  求求两个数中小的那一个?

#define MIN(a, b) (a)>(b)? (a):(b)
   求一年有多少秒?(不是闰年)

#define YEAR_SECOND (365*60*60*24)UL
2.const用途

   1)定义常量 2)修饰函数参数,返回值

3. const和#define比较。

     const和#define都可用来定义常量,但是const更好,因为它可以指定数据类型。

4.sizeof的使用


#include <stdio.h>
#include <time.h> 
#include <string.h>
struct A/*结构体内的所有元素都小于处理器的位数,那么就以其中的最长的为对齐单位*/ 
{
	short a; //2 BYTE
	short b; //2 BYTE
	char d;  //2 BYTE
};
struct B/*有大于处理器处理位数的,以处理器位数对齐*/
{
	long a;  //4 BYTE
	short b; // 4BYTE
};
int main(int argc, char *argv[])
{
	char *str = "01234"; //指针,指针大小 
	char str1[] = "01234"; //数组指针 ,数组大小 
	char str2[100] = "01234";//数组大小 
	char *str3 = (char *)malloc( 100 );//指针大小 
	printf( "%d\t%d\t%d\t%d\t%d\t%d\n", sizeof(str), sizeof(str1), sizeof(str2), 
			sizeof(str3), sizeof( struct A), sizeof( struct B) );
	printf( "strlen=%d,sizeof=%d\n", strlen("01234567"), sizeof( "01234567" ) ); //9,8
	return 0;
}



a=6;
sizeof( a=8 );

这样的语句,执行完之后,a的值是6,而不是8,因为a=8不会执行。

5.内联函数和宏定义

    内联函数是代码嵌入,会对参数做合法性检查,而宏定义只会做简单的替换,不会参数检查。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值