一、声明是未赋值,定义是赋值
二、UL 无符号长整形
三、数组
int arr[5] = {1, 2, 3, 4, 5}😭数组【】中的数字大小是从一开始数,{}中的大小是从零开始数)
四、extern
extern extern表明变量或者函数是定义在其他其他文件中的
int a = 5与int a = 5意义是一样的,都是定义。而extern int a;是声明。但会产生一条警告;
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。
五 static
static 表示静态的变量,限制此变量作用域在一个源文件内,其他文件不能用extern来引用此变量,不仅适用于变量,函数也可以。
六 include
include相当于把include .h文件直接带入到本源文件里
尽量不要在.h里定义变量,这是一个不好的习惯,因为这样编译的时候就会报重复定义的错误
include "a.h"和 include<stdio.h>的区别
一般自定义的头文件都是用""
#include "stdio.h"表示在文件当前的路径下找 stdio.h文件,如果没有的话再到标准库去找。
#include<stdio.h> 就是直接去标准库找。
不仅源文件可以引用头文件,头文件也可以引用头文件
七 ifndef 和 endif
ifndef endif
#ifndef 宏名 //判断是否声明过该宏名,如果声明过,直接跳到#endif
#define 宏名 //如果没有声明过,声明该宏名
//.h文件内容
#endif
此类宏名有一个固定格式,即:工程名 _ 路径名_ 文件名_ H_
这样就能避免重名的风险