推荐个做兼职的网站,大连网站如何制作,怎么制作公司网页,电子商务网站建设完整案例教程s2sh pdf下载C语言的高级编程 预定义宏宏展开下的#与##的使用常用的数据类型有结构体定义类型修饰符#xff1a;对内存资源存放位置的限定#xff0c;资源属性中位置的限定。 预定义宏
__FUNCTION__ //函数名
__LINE__ //行号
__FILE__ //文件名printf( the %s,%s,%d\n对内存资源存放位置的限定资源属性中位置的限定。 预定义宏
__FUNCTION__ //函数名
__LINE__ //行号
__FILE__ //文件名printf( the %s,%s,%d\n,__FUNCTION__,__FILE__,__LINE__);宏展开下的#与##的使用
#define ABC(x) #x // 字符串化
#define DAY(x) day##x // 宏序列化#include stdio.h
#define ABC(x) #x
#define DAY(x) day##x
int main()
{printf(ABC(ab\n)); //相当于printf(ab\n) 输出ab\nint day1 10;int day2 20;printf(the day is %d\n,DAY(1)); //输出10return 0;
}常用的数据类型有
数据类型位宽char8bitshort16bitint32bitlong64bitfloat23bitdouble64bit
结构体定义
typedef struct
{uint16_t temperature; // 设备温度uint16_t humidity; // 环境湿度uint16_t corbon; // 二氧化碳浓度uint16_t NH3_Value; // NH3uint16_t illumination; // 当前的光照值uint8_t sys_state;
} sensors_data_t;
sensors_data_t sensors_data {0}; // 环境传感器值struct student{char no[20]; //学号char name[20]; //姓名char sex[5]; //性别int age; //年龄
};
struct student stu1,stu2;类型修饰符对内存资源存放位置的限定资源属性中位置的限定。
数据修饰符解释auto默认就是auto分配的内存再可读可写区域register存储在CPU中的寄存器中,不能用取地址符“”const就意味着该变量里的数据只能被访问而不能被修改也就是意味着“只读”readonlyexternextern声明外部符号用来声明不在同一个源文件 .c文件的变量变量必须是全局变量static修饰函数也会使得函数外部连接属性就变成内部连接属性。函数就只能在自己所在的.c文件看到其他源文件就无法访问。volatilevolatile就是使得被修饰的变量不去优化一直放在内存中提高对特殊地址位置的访问