简介:第一次接触这种,就当日记来写吧。本人一个民办本科,成绩也只能算中等水平,学校开展的课程也仅限于能应付的了考试,即将毕业,深觉昔日学习时间都被各种事情耽误了,从2023年6月23日开始,重头再来学习。从C开始,争取毕业拿到一个好offer。

在b站大学里看了鹏哥的C语言入门的四节课,感觉收获了很多。初步了解了代码的运行模式,借鉴教材,自己反复回忆 理解,仔细做笔记,开始将做简单最基础的东西打牢,确保未来的上层建筑能够安全稳固。

在常见关键字中,重点学习了 static关键字,extern,typedef,sizeof,struct。

1、static关键字,静态变量(个人理解:可以将一个变量不在轻易发生改变,不能再对其进行赋值等其他操作去改变其变量)用法一般有三种。分别对局部变量,全局变量和函数进行修饰。

1>当static修饰局部变量时,作用于局部变量的作用域,其目的就是延长了局部变量的生命周期,使其不会因为离开{}后就被销毁;

2>当static修饰全局变量时,也是改变了其作用于,使得被修饰的变量只能在本源文件内被使用,不能垮文件去引用;

3>当static修饰函数时,改变了函数的链接属性(函数有外部连接属性(个人理解就是可以在不同源文件被引用)),使函数的链接属性从外部->内部(和全局变量相似)。

例:

void test()//void不需要返回值
{
	static int a = 1;//此处的a是静态的局部变量,若无static,a每次执行后进入main之前就会销毁,但是用static定义后,使局部变量的生命周期变长。
	a++;
	printf("a=%d\n",a);//2,3,4,5,6  被static修饰以后,不会因为离开{}而销毁。
}
int main()
{
	int i =0;
	while(i<5)//i<5)表示当i不满足条件时,停止循环,输出结果。
	{
	    test();
		i++;
	}
	return 0;
}

2、exturn关键字,主要用于声明,但是不对其定义,可用于引入外部符号(跨文件使用)但是需要注意:被引用的文件和原文件的后缀要相同。

3、typedef关键字,定义一个类型别名,又被称为类型重定义。可以方便我们在源文件中对于一些反复出现且复杂的函数等重新定义,(Point:相当于我们给他起一个别名或者外号,不论是真实名称还是别名都可以对应相同的类型)。

例:

typedef unsigned int u_int;//使用后,后续可以用u_int  来替代unsigned int.

4、sizeof关键字,用法:sizeof(),可以计算括号内对象所占的字节数,可用于变量,数组,结构体等。

5、struct关键字,结构体。可以对复杂的事物进行定义,在后续函数使用中对应出事物的属性。

例:

#include <stdio.h>
struct Book
{
	char name[20];
	short price;
};//这里要着重注意  因为struct时语句,需要在{}后面加上分号,才是完整的一句话。
int main()
{
	struct Book b1 = {"C语言程序设计",55};//利用结构体类型-创建一个该类型的变量。
	//printf("书名:%s\n",b1.name); 
	//printf("价格:元%d\n",b1.price);
	struct Book* pb = &b1;
    //printf("%s\n",(*pb).name);
	//printf("%d\n",(*pb).price);
	printf("%s\n",pb->name);
	printf("%d\n",pb->price);
	return 0;
}

后附其他常见关键字,因为没详细讲解,我就大概做了点笔记,希望能对和我一样的同学有点帮助。

C语言关键字_C语言入门

C语言关键字_C语言入门_02