初识C语言2.0
1.常见的关键字
关键字 | 必要的解释 |
---|---|
auto | 自动的,每个局部变量都是auto修饰的,但我们一般省略不写 |
break | |
continue | |
case | |
char | |
const | |
default | 默认 |
do | |
double | |
else | |
enum | 枚举 |
extern | 是用来申明外部符号的 |
float | |
for | |
goto | |
if | |
int | |
long | |
register | 寄存器关键字,register int num=100 //建议num的值存放在寄存器中 |
return | |
short | |
signed | 有符号位的 |
unsigned | 无符号位的 |
sizeof | |
static | |
stuct | |
switch | |
union | 联合体 |
typedef | |
void | |
volatile | |
while |
2.typedef关键字
trpedef类型重命名。
typedef int n_int
//解释代码 将关键字int 在此程序中改为n_int。
3.static关键字
static修饰全局变量。使得这个全局变量只能在自己所在的源文件(.c)内部使用,使用其他源文件不能使用。
static修饰局部变量,改变了局部变量的生命周期(本质上是改变了变量的存储类型)。
static修饰函数。使得函数只能在自己所在的源文件内部使用,不能在其他源文件内部使用。
static使得变量出了自己的作用域不会销毁。
稍加解释:全局变量,在其他源文件内部可以被使用,是因为全局变量具有外部链接属性,但是被static修饰之后,就变成内部链接属性,其他源文件就不能链接到这个静态的全局变量。
4.#define定义常量和宏
define是一个预处理指令。
define定义符号。
#define pow 10
//将pow在此文件中定义为10
5.初识指针
指针大小在32位平台是4个字节,在64位平台是8个字节。
%p用来打印地址。
int a=10;
int *pa = &a;
6.初始结构体
创建一个学生
struct stu
{
char name[20];//定义学生名字
int age ;//定义学生年龄
double score;//定义学生成绩
};
struct stu s={"张三",20,85.5};
//定义学生名字为 张三
// 年龄为 20
// 成绩 85.5
7.学会函数strlen
#include<stdio.h>
#include<string.h> //函数strlen在头文件中的<string.h>中
int main()
{
char arr[]={'b','i','t'};
printf("%d\n",strlen(arr));
return 0;
}
大家觉得这个结果是多少呢?
会是3吗?还是别的数字呢?
不卖关子了,答案是 随机值 \color{red}{随机值} 随机值!对,没错,答案是 随机值 \color{red}{随机值} 随机值。
解释:
s
t
r
l
e
n
直到读到
\color{blue}{strlen直到读到}
strlen直到读到 \n
才会结束。
\color{blue}{才会结束。}
才会结束。
*但在此代码中,数组并没有明确规定大小,所以当strlen读到带三个字符t的时候,接下来并没有读到 \n,会一直向后读,直到读到\n才会结束,不同的编译器,会打印不同的值。
学的不仅是技术,更是梦想