IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 入门C语言——初识C语言(3) -> 正文阅读

[C++知识库]入门C语言——初识C语言(3)

一、引言
本系列文章主要内容主要是我对C语言的初步认识以及知识小结。

1、常见关键字

关键字功能
auto创建自动变量,一般省略
break停止、中断,一般用于switch语句和循环
case用于switch语句
char字符
int整型
float浮点数
long长整型
short短整型
double双精度浮点数
const赋予变量常属性
continue继续,用于循环,switch语句不适用
default用于switch语句
do用于do while语句
else用于if else语句
enum用于枚举
extern用于声明外部符号
for用于for循环
gotogoto语句
if用于if else语句
register略,详见下文
return返回,用于函数
signed有符号的,应用于正负数
sizeof计算类型所占内存大小
static略,详见下文
struct结构体关键字
switchswitch语句
typedef类型重定义,详见下文
union联合体关键字
unsigned无符号的
void空类型
volatile易变的
whilewhile语句

下面介绍部分关键字:

(1)typedef

用于类型重定义,相当于给某类型组合起外号,为了以后使用起来更方便。
示例:

#include<stdio.h>
typedef unsigned int uint;
int main()
{
	unsigned int a = 0;// 这里unsigned int写起来比较麻烦,我们可以用typedef给它取个别名
	uint b = 0;
	return 0;
}

(2)register

<1>先来讲讲一般电脑存储空间类型
在这里插入图片描述
一般情况下在电脑中越精密的储存器储存空间越少,性能越强,成本更高。
电脑中寄存器一般有几十个,每个寄存器有数个字节;高速缓存约几百兆;内存8g,16g等;硬盘512g等。
由于早期cpu处理速度和内存的读写速度比较匹配,故cpu处理数据时是直接从内存中拿的。但是后来cpu处理速度飞速提升,远超内存读写速度,因此出现了寄存器和高速缓存等单元,这些储存器有着更高的读写速度,可以匹配cpu的处理速度。
<2>在c语言中我们可以使用类似 regisiter int a = 10 ;的形式建议编译器将a的值放入寄存器中,但是是否存入寄存器取决于编译器自身。
<3>寄存器和内存的空间是独立的,因此若a的值被存入寄存器中,那么&a这种访问a内存的操作就会报错了。

(3)static

<1>static可以改变局部变量的生命周期,但是不能改变局部变量的作用域。
<2>static修饰全局变量(函数)时,会将变(函数)量的外部链接属性改为内部链接属性,即该变量(函数)只能在该源文件内部使用,其他源文件无法链接到,也无法使用。

(4)define定义的常量和宏

<1>定义变量,例如:#define NUM 1000
<2>定义宏,例如求较大值:#define MAX(x,y) (x>y?x;y)

2、指针

(1)内存的使用

电脑分为32位和64位,分别有32根和64根地址线。每根地址线在通电和不通电时可以表示1,0。地址线通过不同的通电状态形成不同的地址,由此地址指向其分配的内存单元。
以32位操作系统为例,初始状态为 00000000000000000000000000000000
那么就可以有2^32个地址,经过规定每个内存单元大小位1字节

(2)指针变量

指针变量是存放地址的变量。
指针变量的大小与其指向的数据类型无关,32位平台上大小为4字节,64位平台上位8字节。
由于指针变量存放的是一个地址,因此可以同过对指针变量解引用来访问该地址,对其进行操作

int main()
{
	int a = 10;
	printf("%d ", a);
	int *pa = &a;
	*pa = 20;
	printf("%d ", a);
	return 0;
}

指针变量pa向内存申请内存后将a的地址存入,之后通过对pa解引用访问到pa指向的内存空间,从而将a的值改为20。

3、结构体

结构体可以描述复杂类型的数据。例如:

struct student
{
	char name[20];
	int age;
	char sex[10];
	char id[20];
};
int main()
{
	struct student s1 = { "xiaoming",18,"men","20200123" };
	printf("%s %d %s %s", s1.name,s1.age ,s1.sex ,s1.id );
	return 0;
}

通过创建结构体来描述一个学生的基本信息。
我们还可以通过创建结构体指针来访问结构体。

    struct student * ps = &s1;
	printf("%s %d %s %s", (*ps).name, (*ps).age, (*ps).sex, (*ps).id);

或者可以通过->来打印结构体

	printf("%s %d %s %s", ps->name, ps->age, ps->sex, ps->id);

三、结语
至此,C语言的简单大致学习就结束了,接下来是更加系统全面地学习C语言。ByeBye!

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-19 11:52:27  更:2021-08-19 11:54:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 4:44:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计