自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

坚持!!

不因为自己起点低而放弃,不因为自己高而娇纵; 人生是一点点攒出来的,或者说是坚持出来的!

  • 博客(13)
  • 收藏
  • 关注

原创 【C语言提高13】二级指针

二级指针的概念:          任何值都有地址 ,一级指针的值虽然是地址,但这个地址做为一个值亦需要空间来存, 是空间就具有地址 ,这就是存放地址这一值的空间 所具有的地址,二级指针就是为了获取这个地址               一级指针所关联的是其值(一个地址)名下空间里的数据,这个数据可以是任意类型并做任意用途,但二级指针所关联的数据只有一个类型一个用途,就是地址

2015-11-30 23:35:17 445

原创 【C语言提高12】间接赋值从0级指针到1级指针

#include#include#include//指针做函数参数间接改变我们的运算结果int getFoleLen(int*p){ *p = 40; return true;}//这样只能修改形参的值 不能改变实参的值 //不通过操作地址的话 编译器是将实参的值复制给形参 而不是把实参传递进来int getFoleLen(int b){ //形参变量和

2015-11-30 20:45:54 440

原创 【C语言提高11】野指针

//野指针产生的原因//指针变量和它所指向的内存空间是两个不同的概念//释放了指针变量所指的内存空间  但指针变量没有重置为null//做成释放后  if(p!=NULL)仍然成立      因为指针变量还存着所指向内存空间的地址  但是这块内存被释放了//避免办法:// 1)初始化的时候 初始为NULL// 2)释放指针所指的内存空间后  紧接着把指针重置为nul

2015-11-30 16:48:35 301

原创 【C语言提高10】【指针铁律】铁律4:应用指针必须和函数调用相结合(指针做函数参数)

指针做函数参数,问题的实质不是指针,而是看内存块,内存块是1维、2维。如果基础类int变量,不需要用指针;若内存块是1维、2维。

2015-11-30 16:45:25 448

原创 【C语言提高09】【指针铁律】铁律3:理解指针必须和内存四区概念相结合

主调函数 被调函数主调函数可把堆区、栈区、全局数据内存地址传给被调用函数被调用函数只能返回堆区、全局数据内存分配方式指针做函数参数,是有输入和输出特性的。

2015-11-30 16:41:08 393

原创 【C语言提高08】【指针铁律】铁律2:间接赋值(*p)是指针存在的最大意义

1)两码事:指针变量和它指向的内存块变量2)条件反射:指针指向某个变量,就是把某个变量地址否给指针3)*p间接赋值成立条件:3个条件     a) 2个变量(通常一个实参,一个形参)     b)  建立关系,实参取地址赋给形参指针     c) *p形参去间接修改实参的值4)引申:函数调用时,用n指针(形参)改变n-1指针(实参)的值。

2015-11-30 16:38:17 636

原创 【C语言提高07】【指针铁律】铁律1:指针是一种数据类型

指针也是一种变量,占有内存空间,用来保存内存地址测试指针变量占有内存空间大小*p操作内存在指针声明时,*号表示所声明的变量为指针在指针使用时,*号表示操作指针所指向的内存空间中的值         *p相当于通过地址(p变量的值)找到一块内存;然后操作内存         *p放在等号的左边赋值(给内存赋值)         *p放在等号的右边取值(从内存获取值

2015-11-30 15:18:46 498

原创 【C语言提高06】栈的开口问题

/开口向下的栈先分配大地址//开口向上的栈先分配小地址//一般情况下  操作系统提供的堆栈是向下的//不管栈开口朝那   数组buf的内存地址buf+1永远向上开口检测:#include#include#includevoid main(){ int a; int b; printf("%d %d",&a,&b); system("pause

2015-11-30 13:59:29 1232

原创 【C语言提高05】静态存储区

#include#include#includechar* getStr1(){ char*p1 = "abcdefg"; //开辟的空间属于全局区 return p1;}//这两个字符串是一样的 所以c++编译器只会开辟一个内存空间 并不是两个char* getStr2(){ char*p2 = "abcdefg"; return p2;}void main51(

2015-11-30 13:26:25 390

原创 【C语言提高04】程序的内存四区模型

内存四区的建立流程:               流程说明1、操作系统把物理硬盘代码load到内存2、操作系统把c代码分成四个区3、操作系统找到main函数入口执行各区元素分析:

2015-11-29 21:34:30 483

原创 【C语言提高03】变量本质

变量概念:    既能读又能写的内存对象,称为变量;若一旦初始化后不能修改的对象则称为常量。变量本质:    1、程序通过变量来申请和命名内存空间 int a = 0      2、通过变量名访问内存空间           (一段连续)内存空间的别名(是一个门牌号)      3,修改变量有几种方法?            1、直接

2015-11-29 21:24:38 392

原创 【C语言提高02】数据类型本质

数据类型概念“类型”是对数据的抽象  类型相同的数据有相同的表示形式、存储格式以及相关的操作  程序中使用的所有数据都必定属于某一种数据类型数据类型的本质:数据类型可理解为创建变量的模具(模子);是固定内存大小的别名        数据类型的作用:编译器预算对象(变量)分配的内存空间大数据类型的封装:

2015-11-29 21:07:25 493

原创 【C语言提高01】冒泡排序和数组做参数的问题

//冒泡排序 //外层循环 //当i=0时  从j从1-->N进行变化 //当i=1时  从j从2-->N进行变化 //当i=2时  从j从3-->N进行变化 //........ //结论: 摁着一个变量i不变  让另外一个变量j进行轮循   那个不变的数组地址用来放最小的数值   下一轮依次进行 //       也就是谁小谁放到那个a[i]上面#inc

2015-11-29 20:36:06 461

空空如也

空空如也

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

TA关注的人

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