![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 59
zhrq95
这个作者很懒,什么都没留下…
展开
-
C 语言中的变量声明与变量定义
C++ 中变量声明有两种情况:1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。前者是“定义性声明(defining declaration)”或者称为“定义(definition)”,而后者是“引用性声明(refern...转载 2018-02-08 18:47:46 · 181 阅读 · 0 评论 -
C 顺序、条件、循环语句及特殊表达式
CPU 内部有指令 cache(一级缓存、二级缓存、三级缓存),为了提高运行效率,会将当前指令的相邻指令 cache 在 CPU 的高速缓存中。顺序执行时,cache 指令的命中效率高,执行时速度快;跳转语句时,程序跳到其他部分取执行,当前指令的 cache 可能会被清理然后重新加载其他指令,所以速度会慢一些。编写 高性能的程序少使用跳转语句。函数调用、循环、条件语句、goto语句都有跳转。if ...原创 2018-03-22 21:01:22 · 339 阅读 · 0 评论 -
C 语言计算机运行模型
操作系统专门在内存里开一个区域来存放代码指令(代码段),每一个函数,都有一个代码段。程序运行时代码段是只读的。CPU 根据一个指令指针来取当前指令,执行完后,指令指针移动到下一条指令(顺序执行),或跳转到指定的指令(条件、循环)要点:1、每个函数是一个独立的代码片段,在代码段中;2、有一个指令指针,来决定当前 CPU 执行的指令。return 语句的两个功能:1、将指令指针拨回到调用函数的下一条指...原创 2018-03-22 20:59:30 · 621 阅读 · 0 评论 -
C++ 基础知识
演示程序:#includeusing namespace std;int main(){int x;cout << “输出一个整数:” ; cin >> x;x = x+1 ;cout << “x+1 = ” << x << endl ;return 0;}stdio.h 是 C 语言的输入输出支持头文件,iostream.h 是 C++...原创 2018-03-22 20:58:41 · 169 阅读 · 0 评论 -
i++ 与 ++i
i++ 与 ++i 的区别: i++ 返回原来的值,++i 返回加 1 后的值。 i++ 不能作为左值,++i 可以。i++ 最后返回的是一个临时变量,而临时变量是右值。++i 的效率高些,++i 在运算过程中不产生临时对象,返回的就是 i,是个左值,类似++i=1这样的表达式是合法的。i++ 在运算的过程中会产生临时对象,返回的是零时对象的值,是个右值,像 i++=1这样的表达式是非法的。注:左...原创 2018-02-25 21:06:05 · 219 阅读 · 0 评论 -
C++Primer第五版——习题答案+详解(完整版)
C++Primer第五版——习题答案+详解(完整版)转载 2018-02-25 20:18:22 · 5452 阅读 · 0 评论 -
const*p 和 *const p
const *p // a=*p:如果a的值等于1,那么a就永远等与1,P代表的是地址,就是说这个地址是可以变化的,把内存分成1-10层楼房,那么1可以住在任何一间房子里面,就是说P是门牌号,可以变化,但是房子里面的内容不会变化*const p // a=*p:如果a的值等于1,那么你可以重新赋值给*p=2,这个时候在a=*p,a就变成2了,就是说房子里面的内容可以变,但是门牌号不会变...原创 2018-02-24 15:56:43 · 731 阅读 · 0 评论 -
C 语言函数调用
1、有返回值,则用变量保存返回值:变量 = 函数名称(参数1, 参数2, …)变量的类型一定要和返回值的类型一致2、无返回值或不管返回值:函数名称(参数1, 参数2, …)例:#include #include //使用 system(“pause”) 前得包含此头文件//匈牙利命名法void setPosition(float x, float y) {printf(“x = %f, y = %...原创 2018-03-14 20:46:55 · 507 阅读 · 0 评论 -
C++ 运算符
双目运算符中,若两个操作数的类型不一致,则会在计算前进行类型提升:精度低的类型向精度高的类型提升;范围低的类型向范围高的类型提升。一、算术运算符需要先引入数学函数库 #include1、加法运算x=+y 相当于 x=1*y ,即:正y2、减法运算x=-y 相当于 x=(-1)*y ,即:负y3、乘法运算4、除法运算以 x=a/b 为例:x 为整型,结果都是整除;x 为浮点型,a、b 有一个为浮点型...原创 2018-03-14 20:46:24 · 430 阅读 · 0 评论 -
C++ 变量和常量
一、变量程序运行时,所需的数据要放在内存值才能使用,内存被格式化成一个个小的存储单元,数据保存在这些存储单元中。这些存储单元被编上序号(内存地址)。高级语言设计的程序不能直接通过地址来访问所保存的数据、向单元中写数据。为了访问这些数据,必须给内存中的存储区域命名,用标识符来标志它。存储区域存放的数据可以读取、修改、写入,则此标识符被称为变量。变量不仅向编译器宣告变量的存在,同时为它分配所需的存储空...原创 2018-03-14 20:36:17 · 1513 阅读 · 0 评论 -
GCC 用法
gcc 是 GNU 推出的基于 C/C++ 的编译器,GCC 可以用来编译 C/C++、FORTRAN、JAVA、OBJC、ADA、Pascal 等语言的程序,可根据需要选择安装支持的语言。可产生基于多种处理器(x86、ARM、PowerPC等)的目标代码。语法:gcc [选项] 目标文件 源文件可选选项:-o:指定生成的输出文件;-E:仅执行编译预处理;-S:将C代码转换为汇编代码;-wall:...原创 2018-03-14 20:35:27 · 319 阅读 · 0 评论 -
C 语言全局变量
全局变量:1、定义在函数的外面,使得所有的函数都能访问到2、定义方式1:类型 名称定义方式2:类型 名称=初值3、全局变量既不存储在代码段上,也不存储在栈上,而是操作系统专门给它开辟的数据段(DATA段)上。操作系统将内存,划一部分做代码段,划一部分做栈,划一部分做数据段,剩下的做堆。4、分配全局变量的时间:操作系统将应用程序加载到内存;操作系统在数据段分配全局变量;进入main函数的入口。5、操...原创 2018-03-14 20:34:06 · 2820 阅读 · 0 评论 -
C 语言数组
数组:存储多个同一种数据类型的集合。一维数组:由一个下标就能找到数组内特定的某个元素一维数组的定义:数据类型 数组名称[元素个数];例:int name[100]; //定义一个存100个int数据的一维数组一维数组的内存分布:1、数组定义在哪里,内存就分配在哪里。数组作为局部变量,则它的内存就分配在栈上;数组作为全局变量,则它的内存就分配在数据段上;还会有动态分配的内存。注:为了防止栈溢出的错误...原创 2018-03-14 20:33:23 · 210 阅读 · 0 评论 -
C 语言指针
1、CPU 访问内存,是通过内存地址来读写内存数据的,CPU 与内存条硬件之间有个地址总线,CPU 通过地址总线将要访问/写入的内存地址告诉内存条。2、对于 CPU 而言地址是唯一的读写内存的方式;3、内存地址是一个整数;4、应用程序使用的内存地址,其实不是真实的物理地址,而是操作系统映射好的虚拟的内存地址;如果直接操作真实的物理地址,一但操作失误就 GG 了;5、32位系统的虚拟地址是由32位的...原创 2018-03-14 20:32:58 · 130 阅读 · 0 评论 -
C 语言字符串
C 语言为了解决一个字符串的长度信息问题,使用特定标记符号(空字符即 ‘\0’,其 ASICC 码值为 0)作为一串字符的结束标记。内存里面 hello 的存放如下:‘h’,’e’,’l’,’l’,’o’,’\0′C 语言将字符存于数组,数组是一种分配内存的方式。例:char str[6]={‘h’,’e’,’l’,’l’,’o’,’\0′}char str[6]={‘h’,’e’,’l’,’l’...原创 2018-03-14 20:32:25 · 214 阅读 · 0 评论 -
C 语言结构体
一、结构体是高级编程语言为了编程更加符合现实逻辑,而定义的由基本数据类型组成的更复杂的数据类型。可以被当作普通的数据类型来定义变量。其本质是一种新的可扩展的数据类型。定义一个结构体:struct 名称{数据类型 成员名称;};例:struct student {char name[64];int age;int sex;}struct student zhrq95;struct student* ...原创 2018-03-22 21:02:24 · 464 阅读 · 0 评论