C
Leo062701
这个作者很懒,什么都没留下…
展开
-
c陷阱
1、宏定义为什么要用 do {} while(0)原因是:使用do{...}while(0)构造后的宏定义不会受到大括号、分号等的影响,总是会按你期望的方式调用运行。https://blog.csdn.net/xiaoyilong2007101095/article/details/77067686...原创 2020-03-07 09:00:37 · 265 阅读 · 0 评论 -
编译错误:variable-sized object may not be initialized
原因,定义数组的时候使用变量来定义数组长度。如下代码:int a = 10;char b[a]; //编译不报错//char b[a] = "jfkd"; //报错,使用变量定义长度时,不可在定义时同时进行初始化赋值,需要在之后进行赋值printf("b = %s, len = %d:%d\n", b, strlen(b), size...原创 2018-06-04 14:37:10 · 87654 阅读 · 10 评论 -
const作用
作用:1、为给读你代码的人传达非常有用的信息,声明一个参数为常量是为了明确这个参数的应用目的;2、通过给优化器一些附加信息,使关键字const也许能产生更紧凑的代码;3、合理使用关键字const可以使编译器很自然的保护那些不希望被修改的参数,防止无意的代码修改,可以减少bug的出现。应用举例:1、定义常量:const int MAX_NUM = 100; //定义之后,MAX_NUM的值不再...原创 2018-06-08 09:46:38 · 205 阅读 · 0 评论 -
printf()输出问题
在使用printf()时,应注意表达式、变量的区别,如下代码:int i = 1;printf("%d, %d, %d, %d, %d, %d\n", i, i++, (2== i), ++i, (2== i), i); //输出内容为:3,2,1,3,0,3i = 1;printf("%d, %d, %d, %d, %d, %d\n", i, ++i, (2== i), i++, (2==...原创 2018-06-01 22:07:58 · 366 阅读 · 0 评论 -
linux c复制文件方法
方法一:这里主要 用到的函数是 open,read,write#include <stdio.h>#include <dirent.h>#include <stdlib.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#inc...原创 2018-12-19 18:26:46 · 1766 阅读 · 0 评论