c语言常见关键字汇总

news/2024/7/24 10:03:48 标签: c语言, 开发语言, 后端

关键字是c语言内置的,可以直接用。

c语言常见关键字汇总

目录

  • c语言常见关键字汇总
    • auto(automatic-自动的)
    • typedef(类型重定义)
    • register(寄存器)
    • extern(声明)
    • static(静态的)
      • 1.static修饰局部变量
      • 2.static修饰全局变量
      • 3.static修饰函数
    • #define定义常量和宏
    • struct(结构体)
    • enum(枚举)
    • union(联合)
    • 数据类型
    • const(常属性)
    • 分支、循环、选择语句中用到

auto(automatic-自动的)

用于定义自动变量
在这里插入图片描述

typedef(类型重定义)

register(寄存器)

想要讲清楚这个关键字,我们就要对计算机的存储系统有所了解。
其中寄存器的速度最快、但其空间小、造价高。一般只会把使用最频繁的信息放到寄存器中,以提高读取信息的效率。
这个关键字是指把变量放到寄存器中
在这里插入图片描述

extern(声明)

声明外部符号
如果想用来自其他文件(外部文件)的全局变量,要先声明一下。

static(静态的)

C语言中static可以修饰局部变量、全局变量、指针。

1.static修饰局部变量

在这里插入图片描述

改变了变量的存储类型(栈区->静态区)在这里插入图片描述

使得静态的局部变量出了自己的作用域也不会被销毁
相当于改变了生命周期

2.static修饰全局变量

被static修饰的全局变量在其他文件不可用了
是因为一个全局变量在整个工程的其他文件内部都能被使用,是因为全局变量具有外部链接属性
当一个全局变量被static修饰时,这个变量的外部链接属性变成了内部链接属性
使得这个全局变量只能在自己所在的源文件内部使用,其他文件不能再使用
给我们的感觉就是作用域变小了

3.static修饰函数

被static修饰的函数在其他文件不可用了
当一个函数被static修饰时,这个变量的外部链接属性变成了内部链接属性
使得这个函数只能在自己所在的源文件内部使用,其他文件不能再使用
给我们的感觉就是作用域变小了

#define定义常量和宏

格式:#define+宏名(一般大写)+宏体
在这里插入图片描述
宏和函数很相似
在这里插入图片描述

struct(结构体)

运用多个元素描述一个对象,可自定义。

#include<stdio.h>
struct Stu
{
	//结构体成员
	char name[20];//大小需明确指定
	int age;
	char sex[10];
};
int main()
{
	//创建结构体变量,并且初始化
	struct Stu zhangsan = {"张三",30,"男"};
	struct Stu lisi = { "李四",24,"女" };

	//打印结构体的数据
	printf("%s %d %s\n", zhangsan.name, zhangsan.age, zhangsan.sex);
	printf("%s %d %s\n", lisi.name, lisi.age, lisi.sex);
	return 0;
}//其中用到了.操作符
//结构体成员访问的操作符
//用法:结构体变量.结构体成员

enum(枚举)

enum Color//颜色
{
	RED,
	GREEN,
	BLUE
};

{}中的内容是枚举类型的可能取值,也叫 枚举常量 。
这些可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。
例如:

enum Color//颜色
{
	RED=1,
	GREEN=2,
	BLUE=4
};

union(联合)

这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以联合也叫共用体)。
比如:

//联合类型的声明
union Un
{
	char c;
	int i;
};
//联合变量的定义
union Un un;
//计算连个变量的大小
printf("%d\n", sizeof(un));//4

数据类型

char :声明字符型变量或函数

double :声明双精度变量或函数

float:声明浮点型变量或函数

int: 声明整型变量或函数

long :声明长整型变量或函数

short :声明短整型变量或函数

signed:声明有符号类型变量或函数

unsigned:声明无符号类型变量或函数

void :声明函数无返回值或无参数,声明无类型指针

const(常属性)

const修饰的普通变量:给它赋予常属性,让变量不能直接被人修改。

const int n = 10;
n = 20;// 报错,n不可被直接修改

const修饰指针(可以通过const在*的左边还是右边区分):

  1. const在的左边(const int* p1 = &i;int const* p2 = &i;);//不能通过指针修改变量(const修饰的是指针p指向的内容,指针所指向的内容p不能被修改,但是所以指针本身可以被修改)

    int i = 10;
    const int* p = &i;
    int j = 20;
    p = &j;
    
  2. const在的右边(int* const p3 = &i;)//指针不能被修改(const修饰的是指针p本身,所以指针本身不能被修改,但是指针所指向的内容p可被修改)

    int i = 10;
    int * const p = &i;
    *p = 26;
    

分支、循环、选择语句中用到

if

else

break(打破、终止)

continue(继续)

switch case

do

while

goto

for

(暂时到此结束,未完成内容以后慢慢填坑)


http://www.niftyadmin.cn/n/1717535.html

相关文章

l源码安装mysql升级_源码安装MySQL

一、安装单实例1、升级openssl#查看版本openssl version#openssl 安装包 openssl-1.1.0j.tar.gz#下载地址https://www.openssl.org/source/cd /usr/local/openssl-1.1.1./configmakemake install#受影响的文件夹#/usr/local/bin#/usr/local/include#/usr/local/lib#先查找 当前…

c语言自学教程——分支语句和循环语句

文章目录分支语句&#xff08;选择结构&#xff09;if语句if语句中的elseswitch语句switch语句中的breakswitch语句中的default子句循环语句while语句while语句中的breakwhile语句中的continuefor循环for循环中的break和continuedo…while循环do while循环中的break和continueg…

javaWeb构建登录界面(没办法应同学要求发一下,虽然很简单)

javaWeb构建登录界面javaWeb构建登录界面前言1.新建项目javaEE2.安装Tomcatidea配置3.安装maven仓库IDEA配置maven页面结构编写pom.xml文件添加mysql驱动4.编写前端页面5.编写后端servletJDBCUtilLoginServiceLoginServiceImplLoginPojoLoginMapperLoginMapperImplEnterForm操作…

学好c语言,自己写游戏自己玩——猜数字

使用函数调用、循环语句、随机数生成语句实现的小游戏 #include<stdio.h> #include<stdlib.h> #include<time.h> void menu() {printf("********************\n");printf("**** 1.play ****\n");printf("**** 0.exit ****…

c# winform常用记录

c# winform常用记录open a new page(打开新页面)comboBox 下拉框add elements by order 顺序添加元素insert elements 插入元素make default choose 默认选择DataGridVeiwset background color 设置背景色set table row background color 设置表头背景色set rows background co…

getchar和putchar函数

文章目录getchar&#xff08;输入字符、获取一个字符&#xff09;putchar&#xff08;输出一个字符&#xff09;基本用法清理缓冲器只打印0到9数字字符getchar&#xff08;输入字符、获取一个字符&#xff09; putchar&#xff08;输出一个字符&#xff09; 基本用法 int main…

c语言自学教程——函数

文章目录库函数&#xff1a;自定义函数函数的参数函数的调用运用&#xff08;写一个函数可以交换两个整形变量的内容。&#xff09;函数的嵌套调用和链式访问嵌套调用链式访问函数的声明和定义函数声明&#xff1a;函数定义&#xff1a;函数递归什么是递归&#xff1f;递归的两…

计算机网络第二章——物理层(仅记录我所认为重要的知识点)

计算机网络第二章——物理层物理层基本概念物理层的作用规章物理层协议的主要任务一般来说数据在通信线路上的传输方式是串行传输数据通信的基础知识源系统组成目的系统组成消息数据信号信号的分类码元码元传输速率信道编码与调制编码调制常用编码方式基本调制方法基带信号基带…