C语言中关键字

C语言中的关键字共有32个,这些关键字根据其功能可以划分为以下几类:

1. 数据类型关键字(12个)

  • char:声明字符型变量或函数,通常占用1个字节。
  • double:声明双精度浮点数变量或函数,占用8个字节。
  • enum:声明枚举类型,用于定义一组命名的整型常量。
  • float:声明单精度浮点数变量或函数,占用4个字节。
  • int:声明整型变量或函数,其大小依赖于编译器和操作系统,通常是4个字节。
  • long:声明长整型变量或函数,其大小可以是4字节或8字节,取决于编译器和操作系统。
  • short:声明短整型变量或函数,占用2个字节。
  • signed:表示有符号整数类型,可以与int、long、short等结合使用。
  • struct:声明结构体变量或函数,用于定义复杂的数据类型。
  • union:声明共用体(联合)数据类型,允许在相同的内存位置存储不同的数据类型。
  • unsigned:表示无符号整数类型,可以与int、long、short等结合使用。
  • void:表示空类型,用于声明无返回值的函数或无类型的指针。

2. 控制语句关键字(12个)

  • 循环控制
    • for:构建for循环结构。
    • do:构成do-while循环的循环体部分。
    • while:构建while循环结构。
    • break:跳出当前循环或switch语句。
    • continue:结束当前循环的迭代,开始下一次迭代。
  • 条件语句
    • if:构建条件语句。
    • else:与if配合使用,构建if-else条件语句的否定分支。
    • goto:无条件跳转语句,但通常不建议使用以避免程序结构混乱。
  • 开关语句
    • switch:构建switch语句,根据表达式的值选择执行路径。
    • case:switch语句中的分支。
    • default:switch语句中的“其他”分支。
  • 返回语句
    • return:用于函数中,返回函数的返回值并终止函数的执行。

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

  • auto:声明自动变量,其生命周期仅限于所在代码块,是默认的存储类型。
  • extern:声明变量是在其他文件中声明的,用于实现全局变量的跨文件访问。
  • register:声明寄存器变量,建议编译器将变量存储在CPU的寄存器中以提高访问速度,但具体实现取决于编译器。
  • static:声明静态变量,其生命周期贯穿整个程序执行期间,但作用域可能受限。
  • typedef:为数据类型定义新的名字(别名),有时也被视为存储类型关键字,因为它用于定义类型的别名。

4. 其他关键字(3个)

  • const:声明只读变量,其值在初始化后不可修改。
  • sizeof:用于计算数据类型或变量所占的字节数,是一个操作符而非函数。
  • volatile:说明变量在程序执行过程中可能会被意外地改变,编译器在优化代码时会考虑这一点。

C语言中的关键字涵盖了数据类型定义、程序控制流程、变量存储方式以及特殊用途的各个方面,是C语言编程的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/41635.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#面:C# 如何使⽤ ActionFilterAttribute?

在C#中,ActionFilterAttribute是一个特性类,用于在控制器的动作方法执行前后添加自定义逻辑。它可以用于实现日志记录、异常处理、权限验证等功能。 要使用ActionFilterAttribute,可以按照以下步骤进行操作: 创建一个继承自Acti…

Apache Seata分布式事务原理解析探秘

本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 本文来自 Apache Seata官方文档,欢迎访问官网,查看更多深度文章。 前言 fescar发布已有时日,分布式事务一直是业界备受关注的领域,fesca…

【carla】ubuntu安装carla环境

我们可以通过查看 CARLA 的 GitHub release 页面来找到最新版本的下载链接。 下载 CARLA 压缩包 访问 CARLA Releases 页面: CARLA Releases on GitHub 查找最新版本: 找到最新的版本,点击下载,第一个压缩包 3. 解压 CARLA 包&…

深度学习中的正则化技术 - 引言篇

序言 在深度学习中,正则化技术是防止模型过拟合、提升泛化能力的关键策略。随着模型复杂度的增加,过拟合风险也随之上升。正则化通过引入额外约束或信息,调整模型训练过程,旨在简化模型结构,使其学习到数据中的本质特…

VMware Workstation Pro 17.5.2 + license key

Workstation Pro是专为Windows操作系统设计的功能强大的虚拟化软件平台,它允许用户在其计算机上创建和运行虚拟机,这使他们能够同时与多个操作系统、应用程序和开发环境一起工作。 Workstation Pro的主要特点之一是其易用性,程序提供了直观的界面,允许用户轻松创建、配置和…

uabntu安装opencv

1. 安装前置依赖 sudo apt update sudo apt upgrade sudo apt install build-essential cmake git pkg-config sudo apt install libjpeg-dev libtiff-dev libpng-dev # Image libraries sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev # Vide…

RocketMQ NettyRemotingServer、NettyRemotingClient 实例化、初始化、启动源码解析

🔭 嗨,您好 👋 我是 vnjohn,在互联网企业担任后端开发,CSDN 优质创作者 📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代 🌲文章所在专栏&#…

数学系C++ 类与对象 STL(九)

目录 目录 面向对象:py,c艹,Java都是,但c是面向过程 特征: 对象 内敛成员函数【是啥】: 构造函数和析构函数 构造函数 复制构造函数/拷贝构造函数: 【……】 实参与形参的传递方式:值…

Node.js Stream

Node.js Stream Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许开发者使用 JavaScript 编写服务器端代码。Node.js 的一个核心特性是其对流(Stream)的处理能力。流是一种在 Node.js 中处理读/写文件、网络通信或任何端到端…

【LeetCode】螺旋矩阵

目录 一、题目二、解法完整代码 一、题目 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2&…

go-redis 封装事件-client封装模型、批量数据处理的导出器设计

一、redis-go的封装实践-client模型 // Copyright 2020 Lingfei Kong <colin404foxmail.com>. All rights reserved. // Use of this source code is governed by a MIT style // license that can be found in the LICENSE file.package storageimport ("context&q…

MySQL性能优化 二、表结构设计优化

1.设计中间表 设计中间表&#xff0c;一般针对于统计分析功能&#xff0c;或者实时性不高的需求。 2.设计冗余字段 为减少关联查询&#xff0c;创建合理的冗余字段&#xff08;创建冗余字段还需要注意数据一致性问题&#xff09; 3.折表 对于字段太多的大表&#xff0c;考…

C++ STL容器:序列式容器-链list,forward_list

摘要&#xff1a; CC STL&#xff08;Standard Template Library&#xff0c;标准模板库&#xff09;在C编程中的重要性不容忽视&#xff0c;STL提供了一系列容器、迭代器、算法和函数对象&#xff0c;这些组件极大地提高了C程序的开发效率和代码质量。 STL 容器 分为 2 大类 …

Halcon 铣刀刀口破损缺陷检测

一 OTSU OTSU&#xff0c;是一种自适应阈值确定的方法,又叫大津法&#xff0c;简称OTSU&#xff0c;是一种基于全局的二值化算法,它是根据图像的灰度特性,将图像分为前景和背景两个部分。当取最佳阈值时&#xff0c;两部分之间的差别应该是最大的&#xff0c;在OTSU算法中所采…

排序 -- 万能测试oj

. - 力扣&#xff08;LeetCode&#xff09; 这道题我们可以使用我们学过的那些常见的排序方法来进行解答 //插入排序 void InsertSort(int* nums, int n) {for (int i 0; i < n-1; i){int end i;int tmp nums[end 1];while (end > 0){if (tmp < nums[end]){nums[…

PyVideoTrans:一款功能全面的视频翻译配音工具!【送源码】

PyVideoTrans是一款功能全面的视频翻译配音工具&#xff0c;专为视频内容创作者设计。它能够将视频中的语言翻译成另一种语言&#xff0c;并自动生成与之匹配的字幕和配音。支持多种语言&#xff0c;包括但不限于中文&#xff08;简繁体&#xff09;、英语、韩语、日语、俄语、…

10、广告-用户数据中心

用户数据中心 用户数据中心在程序化广告中扮演着至关重要的角色&#xff0c;它主要包括DMP原理、用户画像逻辑、Look Alike原理和DMP对接DSP四个部分。下面&#xff0c;我们将详细讲解每个部分的内容。 &#xff08;一&#xff09;DMP原理 数据管理平台&#xff08;Data Man…

Wormhole Filters: Caching Your Hash on Persistent Memory——泛读笔记

EuroSys 2024 Paper 论文阅读笔记整理 问题 近似成员关系查询&#xff08;AMQ&#xff09;数据结构可以高效地近似确定元素是否在集合中&#xff0c;例如Bloom滤波器[10]、cuckoo滤波器[23]、quotient滤波器[8]及其变体。但AMQ数据结构的内存消耗随着数据规模的增长而快速增长…

MSPM0G3507——串口0从数据线传输变为IO口传输

默认的跳线帽时这样的&#xff0c;这样时是数据线传输 需要改成这样&#xff0c;即可用IO口进行数据传输

windows系统本地端口被占用的问题

第一步&#xff1a;查找所有运行的端口 按住“WindowsR”组合键&#xff0c;打开命令窗口&#xff0c;输入【cmd】命令&#xff0c;回车。在弹出的窗口中输入 命令【netstat -ano】&#xff0c;再按一下回车键 Win系统端口被占用-查找所有运行的端口 第二步&#xff1a;查看…