摘要:
前言 前面我们花了接近3个章节学习指针,应该都感受到指针的强大了吧。指针可以根据地址直接操作内存中的数据,使用得当的话,不仅能使代码量变少,还能优化内存管理、提升程序性能。关于指针的内容还非常多,比如指针数组、指向数组的指针、指向指针的指针,呵呵,看到这些名字是否都觉得头大了,不过我就暂时不在博客中 阅读全文
摘要:
C语言的scanf函数 一、变量的内存分析 (一)字节与地址 ①. 内存以字节为单位 每个字节都有自己的内存地址,根据地址就可以找到该字节。整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间就相当于是每个字节,地址就是房号,根据房号可以找到房间(根据地址也可以找到内存中的字节)。相邻房间的 阅读全文
摘要:
字符串回顾 一个字符串由一个或多个字符组成,因此我们可以用字符数组来存放字符串,不过在数组的尾部要加上一个空字符'\0'。 上面的代码定义了一个字符数组s来存储字符串"李洪强",系统会自动在尾部加上一个空字符'\0'。 内存分布大致如右图所示: 从上一篇文章 <指向一位数组元素的指针>中可以看出指针 阅读全文
摘要:
C语言运算符 一、算术运算 C语言一共有34种运算符,包括常见的加减乘除运算。 ①. 加法:+ 还可以表示正号 ②. 减法:- 还可以表示负号 ③. 乘法:* 非数学意义上的X ④. 除法:/ 注意1/2的值为0而非0.5 ⑤. 取余(模运算):两个整数相除之后的余数(注意两边都必须是整数,带符号只 阅读全文
摘要:
一、用指针指向一维数组的元素 输出结果:,说明已经通过指针间接修改了数组元素的值,跟指向一个普通int类型变量是一样的。 由于数组名代表着数组的首地址,即a == &a[0],因此第8行代码等价于: 内存分析图如下,一个指针变量占用2个字节,一个int类型的数组元素占用2个字节 二、用指针遍历数组元 阅读全文
摘要:
C语言流程控制 一、流程控制结构 (1)顺序结构:按书写顺序执行每一条语句。 (2)选择结构:对给定的条件进行判断,根据判断结果决定执行哪一段代码。 (3)循环结构:在给定条件成立的情况下,反复执行某一段代码。 二、选择结构-if (一)if简单使用 1) 第一种结构: a) 如果条件为真,就执行后 阅读全文
摘要:
直接引用 1. 回想一下,之前我们是如何更改某个变量的值? 我们之前是通过变量名来直接引用变量,然后进行赋值: char a; a = 10; 2. 看上去是很简单,其实程序内部是怎么操作的呢? 其实,程序对变量的读写操作,实际上是对变量所在的存储空间进行写入或取出数据。就上面的代码而言,系统会自动 阅读全文
摘要:
typedef NSRange *NSRangePointer;NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len) { NSRange r; r.location = loc; r.length = len; return r; 阅读全文
摘要:
摘要 string类型是objective-c中用的最多的类型之一,有时会出现字符串中有我们不想要的字符。 如 "hello world"中的空格,或是"hello/world"中的'/',亦或是"你好A你好"中的'A'。这些都可以通过NSString中的方法来解决。 摘要 string类型是obj 阅读全文
摘要:
NSCharacterSet 简单用法 NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMutableCharacterSet lowercaseLet 阅读全文