数组的本质: 指针的运算: 小标VS指针: a和&a的区别: 例: 数组参数: 所以下例返回4 指针和数组的对比小结:…
阅读代码的重要技巧 函数类型 函数指针 回调函数 使用示例 指针阅读技巧解析 例…
数组退化的意义 当向函数传递数组时, 二维数组参数 等价关系 注意事项 只能去一维数组 无法向一个函数传递一个任意的多维数组,注释地方出错 传递与访问二维数组的方式 动态地算出二维数组的列…
                      指针的本质 指针需要保证指向任意数据类型,所以指针变量都占用32位bit即4字节. PS:不同机器上,指针占用内存不一                        传值调用与传址调用                传值调用   需用8000字节内存               传址调用 只需用4字节内存 所以复杂数据类型用指针调用     swap 传值调换,只是内部参数a.b调换 传址调换,外部i.j调换 SWAP宏直接替换(好处)        …
数组的概念 数组的大小 实例 内存占用 长度 a[5] 不指定初始值的话,随机给数值 数组地址与数组名 a为数组首地址,&a为数组地址,值相等,意义不同 数组名不可以直接相等 例:主义区分指针和数组 (数组会直接打印字符串的地址) 编译器处理指针和数组不同,处理指针会先到内存找到字符串地址,然后根据地址找字符串. 处理数组会直接到内存找字符串,但不会报错. 改正: 数组小结…
读书笔记之:C语言深度剖析 <C 语言深度解剖>这本书是一本“解开程序员面试笔试的秘密”的好书.作者陈正冲老师提出“以含金量勇敢挑战国内外同类书籍”,确实,这本书中的知识点都是一些在面试中常见的考点,并且很多都是我们平常不注意的点,对于我们深入理解C语言确实很有帮助. 第1章关键字 1.register虽然寄存器的速度非常快,但是使用register修饰符也有些限制的:register变量必须是能被CPU寄存器所接受的类型.意味着register变量必须是一个单个的值,并且其长度应小于或等于整…
原书很多已经写的很清楚很精炼了,我也无谓做无意义的搬运,仅把一些基础和一些我自己以前容易搞混的地方写一下. 1. 意义: 指针: 指针也是一种类型,长度为4字节,其存放的内容只能是一个地址(4字节). 比如 char* ptr; ptr指向一个地址,而这个地址理想的情况下存放着一个char型数据,特殊情况下也可能会指向NULL,甚至变成野指针. 数组: 数组代表的是一段连续的内存地址,而并非指针那样代表的只是一个地址. 一般数组会有名字,比如 ] ; 即把一段长度为100个sizeof(char…
指针 相信大家对下面的代码不陌生: int i=2; int *p; p=&i;这是最简单的指针应用,也是最基本的用法.再来熟悉一下什么是指针:首先指针是一个变量,它保存的并不是平常的数据,而是变量的地址.如上代码,指针p中保存的是整型变量i的地址信息. 接下来看如何定义一个指针,既然指针也是一个变量,那么它的定义也和其它变量一样定义:如:int p:是间接寻址或间接引用运算符.上例中我们还看到了一个特别的运算符&,它是一个取地址运算符(在其他合适场合&也是按位运算运算符,&…
在C语言中,字符串实际上就是字符数组,在内存中字符串"Shatner"存储的形式是这样的…
相信大家在学习C语言时,对一维数组和指针的理解应该是自信的,但是,我在学习过程中,看到网上一些博文,发现即便是参加工作的一些专业编程人员,突然碰到二维数组和指针的问题时,也可能会遇到难以处理的诡异问题,并且问题一出现,很难一时间解决. 我自学已经1个多月了,对C语言了解还很浅薄.学到数组和指针的时候,我看了大量的博文和书籍并亲自动手实践,做了一些总结,希望和大家分享交流,若有错误和不足之处,希望大家好不客气的提出,以免误导他人. 好了,现在开始. 我对二维数组和指针的处理划分为两类:降维法,线性…