一、关键字
1、常见关键字
注意:变量的命名:
1、有意义
2、命名必须是字母、数字、下划线组成,不能有特殊字符,同时不能以数字开头
3、变量名不能是关键字
2、几个关键字的介绍
1、typedef:类型定义,类型重命名,简化类型名称便于使用。注意该关键字只针对类型。
示例:
typedef unsigned int uint_32;
//将unsigned int 重命名为uint_32, 所以uint_32也是一个类型名。在后续代码中就可以使用简化的名字
2、static:是用来修饰变量和函数的
(1)修饰局部变量-称为静态局部变量
(2)修饰全局变量-称为静态全局变量
(3)修饰函数-称为静态函数
注意:
(1)static修饰局部变量的时候,局部变量出了作用域不会销毁。本质上,static修饰局部变量的时候,改变了该变量的存储位置,影响了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束。
(2)static修饰全局变量的时候,这个全局变量的外部链接属性就变成了内存链接属性。其他源文件就不能再使用到这个全局变量了。即一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使 用。
(3)static修饰函数的时候,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。
二、#define 定义常量和宏
1、#define 定义常量
示例: #define MAX 1000
2、#define 定义宏:宏是有参数的,是完成替换的。
示例:
#define ADD(x,y) ((x)+(y))
//ADD为宏名,"x,y"为宏的参数,参数是无类型,"((x)+(y))"是宏体
三、指针
1、内存
内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。
注意:内存单元编号等于地址,地址也被称为指针。存放指针(地址)的变量就是指针变量。
变量是创建内存中的(在内存中分配空间的),每个内存单元都有地址,所以变量也是有地址的。 取出变量地址示例:
#include <stdio.h>
int main()
{
int num = 10;
#//取出num的地址
//注:这里num的4个字节,每个字节都有地址,取出的是第一个字节的地址(较小的地址)
printf("%p\n", &num);//打印地址,%p是以地址的形式打印
return 0;
}
那地址如何存储,需要定义指针变量。指针的使用实例:
#include <stdio.h>
int main()
{
int num = 10;
int *p = #
*p = 20;
return 0;
}
2、指针变量的大小
指针变量的大小取决于地址的大小:
1、32位平台下地址是32个bit位(即4个字节)
2、64位平台下地址是64个bit位(即8个字节)
四、结构体
1、结构体使得C语言有能力描述复杂类型。
结构体模版示例:
struct Stu//学生
{
char name[20];//名字
int age; //年龄
char sex[5]; //性别
char id[15]; //学号
};
2、结构体的输出示例:
//打印结构体信息
struct Stu s = {"一号",18,"男", "20240101"};
//.为结构成员访问操作符
printf("name = %s age = %d sex = %s id = %s\n", s.name, s.age, s.sex, s.id);
//->操作符的使用
struct Stu *ps = &s;
printf("name = %s age = %d sex = %s id = %s\n", ps->name, ps->age, ps->sex, ps-
>id);
五、结束语
初识C语言阶段的内容到此结束,接下来我会更深入的学习C语言,进入C语言初阶。