- 博客(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关注的人