- 博客(10)
- 收藏
- 关注
原创 C语言运算符
1、算数运算符+ - * / %2、赋值运算符= += -= *= /= %=3、自增自减运算符++a , a++--a , a--4、sizeof运算符:用来计算变量、常量、数据类型所占用存储空间的字节数sizeof(常量) sizeof常量sizeof(变量) sizeof变量sizeof(数据类型)5、逗号运算符1、运算顺序是从左到右2、逗号表达式的运算结构为最后一个表达式的值6、关系运算符== != > < >= <
2022-12-08 11:05:42
143
原创 流程控制:控制程序的执行流程
1、顺序结构:按照从上到下的顺序执行2、分支结构:相当于岔路口,当条件满足的时候就执行某段代码(1)if 语句:◎ if 必须以if 开头◎ if 可以有多个else if◎ if 语句最多有一个else◎ if 语句中对多只有一个代码块会被执行◎ 如果有 else 那么必然有一个代码块会被执行(2)switch 语句: 当变量与否个常量相等时执行这个常量所对应代码块中的语句注意点:1、仅支持整型数;2、case 后面只能是常量或常量表达式;3、case 后面的常量的值不
2022-12-08 11:04:18
245
原创 预处理指令:在编译之前需要进行解析处理的指令
1、宏定义:不带参数的宏定义:在编译之前,使用宏名后面值,替换代码中所有出现宏名标识的地方带参数的宏定义:把参数带入宏名表达式中,然后替换宏调用的地方2、条件编译:在编译的时候,当条件满足时就编译某段代码#if开头 #elif #else #endif结尾#ifdef #endif#ifndef #endif3、文件包含:#include ——拷贝所包含的文件内容到#include指令所在地方。#include " " ——包含自己的文件。#include <
2022-12-08 11:02:52
75
原创 变量储存类别
(变量值存储时间)动态存储方式,在程序运行期间进行分动态的分配存储空间的方式,静态存储方式是指在程序运行期间分配固定的存储空间的方式;存储空间分为程序区、静态存储区和动态存储区;全局变量全部放在静态存储区中,程序开始时分配空间,完毕时释放;动态存储区中存放以下数据:1、函数形式参数;2、自动变量;3、函数调用时的现场保护和返回地址;在C语言中每个变量和函数都有两个属性,是数据类型和数据存储类型,存储类别是数据在内存中存储的方式。存储方式分为静态和动态存储类,具体包含有四种:自动的(auto)
2022-12-08 10:53:42
132
原创 【无标题】
(一) static_cast:1)在基本数据类型之间转换,如把 int 转换为 char,这种带来安全性问题由程序员来保证;2)在有类型指针与 void * 之间转换;(不能使用 static_cast 在有类型指针内转换)3)用于类层次结构中基类和派生类之间指针或引用的转换。上行转换(派生类---->基类)是安全的;下行转换(基类---->派生类)由于没有动态类型检查,所以是不安全的。(二) dynamic_cast: 用于将一个父类的指针/引用转化为子类的指针/引用(
2022-12-07 23:18:06
127
原创 6.智能指针
三种智能指针:unique_ptr,shared_ptr,weak_ptr。(一) shared_ptr维护了一个指向control block的指针对象,来记录引用个数。(二) weak_ptr用于避免shared_ptr相互指向产生的环形结构,造成的内存泄漏。weak_ptr count是弱引用个数;弱引用个数不影响shared count和对象本身,shared count为0时则直接销毁,不能通过weak_ptr直接访问对象的方法,要先通过lock()转换为shared_ptr。(
2022-12-07 23:16:36
112
原创 6.智能指针
智能指针:C++内存管理是一个令人很头疼的事情,尽管每次写完new都会写一个delete,但是如果程序还没有执行到delete的时候就跳转了或者函数返回了,那么就会导致内存泄漏,使用智能指针可以很大程度上的避免这个问题,因为智能指针就是一个类,当类的实例超出了作用域的时候,就会自动调用其析构函数,析构函数会自动释放资源。
2022-12-07 23:14:56
98
原创 什么是内存对齐?字节对齐的规则是什么?
尽管内存是以字节为单位的,但是大部分处理器并不是以字节来存取数据,一般会以四字节、八字节或更长的单位来取内存。使用内存对齐可以保证每次取内存都是访问块内存地址首部以提高存取效率。字节对齐规则:1) 结构体中每个变量首地址的偏移量必须能够被其有效对齐值 min(变量自身对齐值, 编译器指定对齐值) 整除。2) 结构体的自身对齐值为结构体中最宽变量的大小,结构体的大小必须被其有效对齐值 min(结构体的自身对齐值, 编译器指定对齐值) 整除。
2022-12-02 20:04:54
193
原创 整数进制转换
整数进制转换例如,将八进制数字 53627 转换成十进制:53627 = 5×84 + 3×83 + 6×82 + 2×81 + 7×80 = 22423(十进制)从右往左看,第1位的位权为 80=1,第2位的位权为 81=8,第3位的位权为 82=64,第4位的位权为 83=512,第5位的位权为 84=4096 …… 第n位的位权就为 8n-1。将各个位的数字乘以位权,然后再相加,就得到了十进制形式。注意,这里我们需要以十进制形式来表示位权。再如,将十六进制数字 9FA8C 转换成
2022-12-02 19:56:41
160
原创 C语言数据类型
算法结构:一、顺序结构、选择结构、循环结构;二、循环结构又分为while型、until型、for循环结构;程序流程图;结构化程序设计方法:(1)自顶向下;(2)逐步细化;(3)模块化设计;(4)结构化编码。数据类型:常量:常量包括字面常量、直接常量和符号常量;变量:C语言规定标志符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或者下划线;必须压迫先定义后使用;每一个变量被定义以确定类型后,在编译时就能为其分配相应的存储单元;整数类型:整数常量有十进制、八进制和十六进
2022-12-02 19:51:11
92
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人