1.关键字
1.1typedef
将复杂的类型定义重命名,起一个简单的别名,更加方便定义类型。
1.2static
1.2.1static修饰局部变量
#include <stdio.h>
void add()
{
static int a = 0;
//static 修饰局部变量
a++;
printf("%d ", a);
}
int main()
{
int i = 0;
for (i = 0; i < 5; i++)
{
add();
}
return 0;
}
当static修饰局部变量的时候,局部变量变成静态的局部变量,stataic修饰的局部变量存储位置在静态区,静态区中的数据的生命周期是整个程序的生命周期,程序结束,静态数据的生命周期结束,出了作用域后不销毁,下一次进入局部变量的作用域依然存在,延长生命周期。
1.2.2static修饰全局变量和函数
全局变量和函数都具有外部链接属性,但是static修饰全局变量和函数后,将外部链接属性改为内部链接属性,导致该全局变量和函数只能在自己的源文件中使用,其它源文件无法引用该全局变量,作用域变小了。
1.3#define
1.3.1#define定义常量
定义一个标识符来表示一个常量。
define定义的常量无法被修改,当定义常数的时候,可以用来创建数组。
1.3.2#define定义宏
#include <stdio.h>
#define ADD(x, y) ((x) + (y))
int main()
{
int a = 5;
int b = 10;
int m = 0;
m = ADD(a, b);
printf("%d ", m);
return 0;
}
宏所表示的常量可以是数字、字符、字符串、表达式。其中最常用的是数字。
2.指针
2.1内存
内存是计算机的重要部件之一,它用于暂时存放CPU中的运算数据,计算机中程序的运行都是在内存中进行的。内存单元的大小是1个字节(byte)。每个内存单元都有自己的编号,这些编号是内存单元的地址(指针)。指针也就是内存地址,指针变量是用来存放内存地址的变量。
2.2指针变量的大小
指针变量的大小取决于地址的大小。32位平台下的地址是4个字节,64位平台下地址是8个字节。
3.结构体
#include <stdio.h>
struct Stu
{
char name[10];
char sex[10];
int age;
};
int main()
{
struct Stu s1 = { "张三", "男", 17 };
printf("%s %s %d", s1.name, s1.sex, s1.age);
return 0;
}
结构体可以被声明为不同类型的数据,以实现较复杂的数据类型。结构体同时也是一些元素的集合,这些元素称为结构体的成员,且这些成员可以为不同的类型,成员一般用名字访问。
感谢大家的观看,觉得文章写得不错的话,点赞、评论、关注支持一下,初步认识C语言系列完结,后续详细整理C语言知识、使用方法和易错点,全面认识C语言,添加更多的代码方便理解,麻烦在评论或者私信一下,我看到后及时更改,谢谢。