C/C++ 知识点---C语言关键字(32个)
C/C++ 知识点
1.C语言关键字(32个)
<1>.基本数据类型 [5]
void :声明函数无返回值或无参数,声明空类型指针
char :声明字符型变量
int :声明整形变量
float :声明浮点型变量
double :声明双精度变量
<2>.类型修饰关键字[4]
shot :声明短整型变量
long :声明双长整型变量
signed :声明有符号类型变量
unsigned:声明无符号类型变量
<3>.复杂类型关键字[4]
struct :声明结构体变量
union :声明联合数据类型
enum :声明枚举类型
typedef :用于数据类型取别名及其他用途
sizeof :计算对象所占内存空间大小
<4>.存储级别关键字[6]
auto :声明自动变量,一般编译器默认为缺省时为auto,通常在栈上分配
static :声明静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部
register :声明寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数
extern :声明外部变量或引用,编译器遇到此变量和函数时在其他模块中寻找其定义
const :声明只读变量,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变)
volatile :说明变量在程序执行中可被隐式改变,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值
<5>.控制流关键字[13]
---跳转---
return :子程序返回语句
continue :结束当前循环,开始下一轮循环
break :跳出当前循环
goto :无条件跳转语句
---分支---
if :条件语句
else :条件语句否定分支(与if连用)
switch :开关语句
case :开关语句分支
default :开关语句“其他”分支
---循环---
for :其中一种循环语句
do :循环语句的循环体
while :循环语句的循环条件
2.static关键字
static关键字主要用于修饰局部静态变量、全局静态变量/函数,以及静态数据成员/成员函数(C++),主要起到生存期和作用域的限制作用及类中的唯一性;
<1>.按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区;
按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效;
也就是说把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围;
<2>.static函数在内存中只有一份,而普通函数在每个被调用中维持一份拷贝,函数前加static使得函数成为静态函数(内部函数),这时它的作用域仅局限于本文件;
<3>.类的静态成员函数只能访问类的静态成员(变量或函数);静态数据成员则标识变量/函数在此类中的唯一性,对此而言,成员函数不管是否是static,在内存中只有一个副本,普通成员函数调用时,需要传入this指针,static成员函数调用时,没有this指针;
3.extern关键字
extern关键字置于变量或函数前,用于提示编译器该变量或者函数在其他文件中定义,另外用来进行链接指定(extern "C"),告诉链接器在链接时用C函数规范来链接,解决编译生成的目标代码中名字匹配问题;
另外extern的使用要严格对应声明时的格式,例如源文件定义了数组类型char T[ARRAY_NUM],再另外的文件中如果声明用extern char *T,会导致非法内存访问错误,因为指向类型T的指针并不等价于类型T的数组,应该改为:extern char T[];
C/C++ 知识点---C语言关键字(32个)的更多相关文章
- C语言的32个关键字
由ANSI标准定义的C语言关键字共个: auto double int struct break else long switch case enum register typedef char ex ...
- FILE不是C语言关键字
FILE不是C语言关键字,只是标准C中的标准输入输出中定义的一个新的数据类型 stdio.htypedef struct _iobuf{ char* _ptr; int _cnt; char* _ba ...
- 李洪强漫谈iOS开发[C语言-009] - C语言关键字
// // main.m // 04 - C语言关键字 // // Created by vic fan on 16/7/12. // Copyright © 2016年 李洪强. All r ...
- c语言关键字总结
1.关键字变更历史 1999年12月16日,ISO推出了C99标准,该标准新增了5个C语言关键字: inline restrict _Bool _Complex _Imaginary(注意bool 从 ...
- 1.C语言关键字(auto break case char const swtich)
ANSI C标准C语言共有32个关键字,分别为: auto break case char const continue default do double else enum extern floa ...
- 回首C语言关键字(~回首向来萧瑟处~)
开篇废话: 本文意在回顾 C 语言中的关键字,整理文件发现当时做的这些笔记还是蛮用心的,有临摹 前辈的足迹也有自己的理解和体会.时至今日2018已经跨过一半,对不起过去半年,今天 拿这篇关键字开篇,开 ...
- C语言关键字之sizeof
C语言关键字 sizeof 是一个操作符,返回对象或类型所占内存字节数,类型为size_t(定义在<stddef.h>),有2种用法: sizeof unary-expression si ...
- C语言关键字-volatile
1.C语言关键字volatile C 语言关键字volatile(注意它是用来修饰变量而不是上面介绍的__volatile__)表明某个变量的值可能在外部被改变,因此对这些变量的存取 不能缓存 ...
- 执行Go程序的三种方式及Go语言关键字
执行 Go 程序的三种方式及 Go 语言关键字 执行 Go 程序的三种方式 一.使用 go run 命令 二.使用 go build 命令 Step1. 对 go 源码源文件执行 go build 命 ...
随机推荐
- 读书笔记-Software Testing(By Ron Patton)
Software Testing Part I:The Big Picture 1.Software Testing Background Bug's formal definition 1.The ...
- Struts2的知识点小总结
strust2是 struts1和webwork的结合 (本质相当于servlet) 核心:拦截器 interceptor action ognl和valuestack 使用struts的准备工作 ...
- CSS3集锦之新增选择器、圆角、阴影、透明度、transition动画、transform变形、animation动画
---恢复内容开始--- 一.CSS3新增选择器 1.nth-chlid(n)用法 selector:nth-chlid(n)指找到第n个子元素并且该元素为selector标签 <!DOCTYP ...
- 面向对象15.3String类-常见功能-获取-2
public class String_APImethod {/* * 1.4获取字符串中的一部分字符串,也叫字符串 * String substring(int beginIndex, int en ...
- JS的get和set使用示例
javascript中set与get方法详解 其中get与set的使用方法: 1.get与set是方法,因为是方法,所以可以进行判断. 2.get是得到 一般是要返回的 set 是设置 不用返回 ...
- 智联卓聘 卓聘IM(聊聊)开发实践
1. 卓聘IM开发背景 智联卓聘是智联旗下高端人才招聘平台,成立快4年多,业务增涨每年以100%速度增涨快,同时对产品和研发速度都比较高. 2015年提出IM开发,主要用于后选人与猎头及时交流,降低 ...
- Python中创建对象的方法
源引:Python编程实践 示例类: class Point: __slots__=('x','y') def __init__(self,x,y): self.x=x self.y=y def ma ...
- Spring Boot 使用Redis缓存
本文示例源码,请看这里 Spring Cache的官方文档,请看这里 缓存存储 Spring 提供了很多缓存管理器,例如: SimpleCacheManager EhCacheCacheManager ...
- Java8 Stream代码详解+BenchMark测试
Java8 Stream基础.深入.测试 1.基本介绍 1.创建方式 1.Array的Stream创建 1.直接创建 // main Stream stream = Stream.of("a ...
- 服务器Hadoop+Hive搭建
出于安全稳定考虑很多业务都需要服务器服务器Hadoop+Hive搭建,但经常有人问我,怎么去选择自己的配置最好,今天天气不错,我们一起来聊一下这个话题. Hadoop+Hive环境搭建 1虚拟机和系统 ...