第十一天C进阶:ctime_s;strcpy;宏

1.ctime_s函数使用方法

void calender_ver2(void) {
	time_t current= time(¤t);/*获取当前时间*/
	
	char buff[26];
	ctime_s(buff, sizeof buff, ¤t);
	printf("当前日期和时间:%s",buff);
}

2.想要清空某串字符串,可以使用

strcpy(str," ");

但是据书本原话,该方法会浪费存储空间
(1)占用一个字节的用于静态存储器的存储空间“ ”
(2)调用函数时存在额外负担

3.宏(大概是预先定义函数的别名的意思?)

#define swap(type,x,y)  do{type t=x;x=y;y=t;} while(0)
...
swap(int,a[i],a[j]);

这样的就算是宏。
同一个函数,以下的形式很容易编译错误:

#define swap(type,x,y) {type t=x;x=y;y=t}

宏的名称和参数的“(”之间不能够有空格。如果有,此时就不是函数宏,而是对象宏(?)。对象宏的意思是:
“将swap替换成语句 {type,x,y} do{type t=x;x=y;y=t;}while(0)”

你可能感兴趣的:(C)