C语言必备,包含C语言大部分用法代码+注释
/************************************************
此文件包含大部分C基础的相关内容,注释内不完全对
***********************************************/
#include //添加标准输入输出流头文件
#include //添加字符串处理头文件
#include //添加形参个数不定函数的头文件
#include //添加是否是数字函数的头文件
#include //添加对内存操作的头文件
#define www (a)+(b)//预编译处理
//定义宏
#define H printf(
#define Y "这里是用宏定义来输出的\n");
//下面代码有字定义一样的宏,但是编译不会出现重定义错误.加ifndef endif
#ifndef pppp//如果没有定义
#define HH printf("重定\
义宏测试\n"); //就定义
#endif //结束
#ifndef pppp //如果没有定义
#define HH printf("重定\
义宏测试\n"); //就定义
#endif //结束
//带参数的宏,宏函数
#define SWAP(T,x,y) {T t = x;x = y;y = t;}
#define SWAP1(x,y) {int t = x;x = y;y = t;}
//定义全局变量/数组
//char w[7][10] = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};//定义全局数组
extern char w[7][10];//extern代表是从别的地方定义的
//enum bool{true = 1,false = 0};
枚举定义,如果没指定数值,第一个为0,依次递增加。如果前面指定值,后面就递增
enum mode{UREAD=0400,UWRITE=0200,UEXEC=0100,GREAD=0040,GWRITE=0020,GEXEC=0010,OREAD=0004,OWRITE=0002,OEXEC=0001};//定义枚举变量
enum course{CPP,JAVA,DOTNET,TEST};
enum gender{MALE,FEMALE};
typedef enum gender sex;//定义别名.也可以定义类型名的同时定义别名如下语句
//typedef enum gender{MALE,FEMALE}sex;
typedef char A[20];//给char[20]起别名A
//定义结构体
struct person{
//A name;//等同于char name[20],注意看上面A的定义。别名
char name[20];//字符数组
sex s;//枚举,注意:有定义过别名
int age;//整型
double income;//双精度浮点数
};
//定义结构体
typedef struct per{
char name[20];//姓名
char gender;//性别
int age;//年龄
double salary;//工资
}pre;//别名
//定义结构体//位段
struct weiduan
{
unsigned char userread:1;//1代表占一位
unsigned char userwrite:1;//1代表占一位
unsigned char userexecute:1;//1代表占一位
unsigned char groupread:1;//1代表占一位
unsigned char groupwrite:1;//1代表占一位
unsigned char groupexecute:1;//1代表占一位
unsigned char otherread:1;//1代表占一位
unsigned char otherwrite:1;//1代表占一位
unsigned char otherexecute:1;//1代表占一位
};//此结构体只占2字节
//定义共用体
typedef union IP//ip地址
{
char
i4[4];//4个字符数组
int net;
double d;
}IP;//占8个字节
//函数
//不带返回值的函数,无形参
void fun1()
{
printf("这个函数没有返回值!\n");
}
//带返回值的函数,无形参