C语言学习之路--初识C语言(四)

这篇博客介绍了C语言学习的第四部分内容,包括常见关键字的分类与用法,如register、typedef和static,以及#define用于定义常量和宏。还详细讲解了内存、指针的概念,指针变量的大小,并通过实例探讨了结构体的使用。
摘要由CSDN通过智能技术生成

一、前言

  • 本人是一名小白,这一篇是记录我初识C语言的第四部分的所学所得,仅为简单的认识下C语言中的各个知识。

二、常见关键字

1、关键字列举

auto break case char const continue default do double else enum
extern float for goto if int long register return short signed
sizeof static struct switch typedef union unsigned void volatile while

  • C语言提供了丰富的关键字,这些关键字都是语言本身预先设定好的,用户自己是不能创造关键字的。

2、分类

  • C语言关键字共有32个,根据用途,可分为四类。

1、变量数据类型关键字(14个)

char char 单字节整型数或字符型数据
short 短整型数
int 基本整型数
long 长整型数
float 单精度浮点型数
double 双精度浮点型数
signed 有符号数(二进制数据的最高位为符号位,最高位是1为负数,最高位是0为正数)
unsigned 无符号数
void 无数据类型、空数据类型
volatile 该变量在程序执行中可被隐含的改变
typedef 重新进行数据类型定义
struct 结构数据类型
enum 枚举数据类型

2、9条基本语句用到的关键字(12个)

if 构成选择语句
else 构成选择语句
switch 构成选择语句
case 构成选择语句
break 跳出最内层循环
default 构成选择语句
for 构成选择语句
do 构成循环语句
while 构成循环语句
continue 转向下一次循环
goto 无条件转移语句
return 函数返回

3、存储类型关键字(5个)

const 在程序执行过程中不可更改的常量值
extern 在其它程序模块中说明了的全局变量
static 静态变量
register 使用CPU内部寄存器的变量
auto 一般在代码块中定义的变量,即局部变量,默认都是auto修饰的,不过一般省略

4、运算符关键字(1个)

sizeof 运算符,计算表达式或数据类型占用的,内存的字节数。

3、举例介绍

1、register----寄存器

  • 使用CPU内部寄存器的变量
1、计算机上,数据可以存储在哪里呢?

1.寄存器( 字节)
2.高速缓存( M)
3.内存(16G等)
4.硬盘(500G)
5.网盘( T)

  • 以上从下数度越快,造价越高,空间越小。
  • 以上存储的数据由CPU(中央处理器,central processing unit,简称CPU,作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元)进行处理运算。寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据和位址。
2、能不能把创建的变量放到寄存器里面呢?
#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

int main()
{
   
	//建议的作用,a存储在什么地方,还是取决于编译器
	//不加register,也可能会存储在寄存器
	//提高工作效率
	register int a = 0;

	return 0;
}

2、typedef

1、定义

顾名思义是类型定义,这里应该理解为类型重命名。

2、作用
#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

typedef unsigned int unt;
//unt便成为unsigned int的别名
int main()
{
   
	//定义一个无符号的整形
	unsigned int a = 10;

	unt b = 20;//相当于unsigned int b = 20;

	//a,b这两个的变量类型一样
	return 0;
}

3、static(静态的)

1、作用
  • 在C语言中:
    static是用来修饰变量和函数的
  1. 修饰局部变量-称为静态局部变量
  2. 修饰全局变量-称为静态全局变量
  3. 修饰函数-称为静态函数
2、用法
1、修饰局部变量-称为静态局部变量

先观察下面这段代码


//void中文翻译为“无类型”。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。
//void的字面意思是“无类型”,void* 则为“无类型指针”,void* 可以指向任何类型的数据。
#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

void test()
{
   
	int a = 0;
	a++;
	printf("%d\n", a);

}

int main()
{
   
	int i = 0;
	while (i < 10)
	{
   
		test();
		i++;
	}
	return 0
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值