自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 引用和const

一、引用传入       声明方法:类型标识符 & 引用变量名 = 被引用的变量名        表层来看引用只是一个别名,底层来看C++中的引用和指针的处理方式相同(在所有用到引用变量的地方系统会自动解引用)        特点:                ①必须被初始化                ②引用初始化的变量一定要可以取地址            ...

2018-11-26 20:48:01 408

原创 C和C++的相互调用

C++中引用了:extern “ C ” { }C++调用C语言:用 extern " C " { ... }C语言调用C++:修改C++文件,在cpp文件中添加extern " C " 不修改C++文件,加中间层处理extern void Show();extern "C"{ void MyShow()//中间文件只做一件事,调用那个.c文件中的函数 { ...

2018-11-26 19:10:40 150

原创 函数默认值、函数重载、inline函数

一、函数默认值       1、函数默认值一般写在声明中       2、默认值赋值自右向左,依次赋值       3、默认值赋值只能赋一次       4、默认值的限制:不能使用局部变量   可以使用全局变量    可以使用函数int Compare(int a, int b, int c = 10)//可以给所有形参设置默认值,也可以给部分形参设置默认值{ if (a...

2018-11-24 19:28:42 194

原创 函数堆栈调用

首先,我们来了解一些简单的的汇编知识:1:简单的汇编指令        mov    移值             mov  dword  ptr[ ebp - 4 ],14h        lea      移地址         lea  eax , [ ebp - 4 ]        push   压栈             push  10        pop  ...

2018-11-24 18:09:46 121

原创 编译完成后的目标文件与虚拟地址空间

一、目标文件的格式       在Windows下可执行文件的格式通常为 .exe ,在Linux下则为ELF格式,而目标文件就是源代码经过了编译阶段但没有进行链接的中间文件,它的文件结构和内容与可执行文件很相似,因此一一般和可执行文件一起采用同一种格式存储。动态链接库和静态链接库都可以按照可执行文件的格式存储二、目标文件中数据存储格式       汇编阶段完成后,指令被翻译成二进制形...

2018-11-06 15:43:56 1988

原创 编译与链接

一、编译   1、预编译:        由c语言举例,一段代码,在经过预编译阶段后,由 .c 文件生成  .i 文件。预编译阶段主要处理源代码中以“#”开始                      的预编译指令,例如:“ #include ” “ #define ”等。具体过程如下:将所有的“ #define ”删除,并且展开所有的宏定义,进行宏替换。 处理所有的条件预编译指令,...

2018-11-06 14:29:30 70

原创 动态申请内存

动态分配的内存是有头和尾信息的。动态存储分配函数:1、malloc    函数原型:void *malloc ( unsigned size )    功能:分配size字节的存储区    返回值:所分配的内存区起始地址,如内存不够,返回空指针。2、realloc     函数原型:void *realloc ( void *p,unsigned size )     功能:将p所指出的已分配内存...

2018-05-01 18:21:27 472

原创 一维数组和二维数组中的数据类型

一维数组和二维数组的数据类型一、一维数组    int arr[4];   在上述语句中,arr,arr+1,arr[0]的数据类型都是什么呢?  二、二维数组    由一维数组中研究的对象我们可以推导在二维数组中研究的对象 ...

2018-04-16 23:00:23 1786

原创 const关键字

const关键字const的用法:1、定义常变量。将变量变成只读(定义时必须有值)。(1)在这里我们解释一下常变量和常量的区别。常变量具有变量的基本属性:有类型,占存储单元,只是不允许改变其值。可以说常变量是有名字的不变量,而常量是没有名字的不变量。有名字就便于在程序中被引用。const在使用时要注意:     const修饰一个变量,一定要给这个变量初始化值,若不初始化,就是一个局部变量,局部变...

2018-04-16 20:38:58 110

原创 如何判断进制

举例:假设在n进制下,下面等式成立,567*456=150216,n的值是()          A.9              B.10            C.12             D.18在算进制的转换时,我们用到了权值法,那么在面对这种类型的题时我们也可以用权值法。1、我们将上面的等式按照权值展开:      接下来我们整理等式两边:2、通常在做这种题时或者说是判断进制的问题时...

2018-04-12 20:59:45 4486

原创 关于指针的运算

 一、指针+数字     在我们编写程序时,指针常常被我们用在数组中批量处理数据,而在批量处理数据时我们会用到循环来做,也就需要做指针++的运算,那么问题来了:在做指针加法时是如何加的?由上图,关于指针加数字这个问题我们可以得到以下几种猜测:1、加一个字节 放第一个数据进去(用十六进制表示,PC是小端,低地址放小数据)放第二个数据进去如图所示,表示的数字完全不对了2、加一个数组长度     显然,...

2018-04-11 19:25:30 4783

原创 父函数与子函数

在父函数中调用子函数时,要如何使得父函数中的值也改变呢?我们以常见的数字交换问题来举例:如图所示:在子函数中打印结果正确,如图所示,在父函数中打印结果不正确。那么究竟是为什么不正确呢?原因在于,父函数中a,b的值是10,20传到子函数中去相当于给子函数的a,b赋值,子函数中a,b的值做了交换并没有影响到父函数中a,b的值。他们所属不同的函数中,地址不同,也就不是同一个a和b。这是我们常用的交换变量...

2018-04-02 18:09:55 4580

原创 数组与指针

一、数组      1.概念:数组是一组有序数据的集合。数组中数据的排列是有一定规律的,下标代表数据在数组中的序号。      2.数组的定义:          数据类型+数组名[常量表达式]      3.数组的赋值:         ① int  arr[10]={0,1,2,3,4,5,6,7,8,9};         ② int  arr[10];              arr[1...

2018-03-31 21:39:59 150

原创 给一个整数,要求:1、输出它是几位数。2、输出每一位数字。3、按逆序输出每一位数字

题目:给一个整数,要求:1、输出它是几位数。2、输出每一位数字。3、按逆序输出每一位数字要点:1、输出位数时注意do while和while的区别,在使用while时注意考虑0是否被包含进去           2、正序输出每一位数字的方法是:输出(当前数字)/(10的当前数字位数-1次方),再将(当前数字)%(10的当前数字位数-1次方)赋值给当前数字,继续循环直到当前数字==0为止      ...

2018-03-28 21:22:43 3382

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除