【C/C++】C语言的高级编程
2024-01-10 16:14:05
预定义宏
__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\n
int day1 = 10;
int day2 = 20;
printf("the day is %d\n",DAY(1)); //输出10
return 0;
}
常用的数据类型有
数据类型 | 位宽 |
---|---|
char | 8bit |
short | 16bit |
int | 32bit |
long | 64bit |
float | 23bit |
double | 64bit |
结构体定义
typedef struct
{
uint16_t temperature; // 设备温度
uint16_t humidity; // 环境湿度
uint16_t corbon; // 二氧化碳浓度
uint16_t NH3_Value; // NH3
uint16_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 | 就意味着该变量里的数据只能被访问,而不能被修改,也就是意味着“只读”(readonly |
extern | extern声明外部符号,用来声明不在同一个源文件( .c文件)的变量,变量必须是全局变量 |
static | 修饰函数也会使得函数外部连接属性就变成内部连接属性。函数就只能在自己所在的.c文件看到,其他源文件就无法访问。 |
volatile | volatile就是使得被修饰的变量不去优化,一直放在内存中,提高对特殊地址位置的访问 |
文章来源:https://blog.csdn.net/EAyayaya/article/details/135499536
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!