- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 内存管理
一、 基本原理 僵尸对象:已被回收的对象。 野指针:指向一个已删除的对象或未申请访问受限内存区域的指针。(及时把它变成空指针,=nil) 什么地方要防止内存泄露: 1.main函数中中alloc创建对象,最后要release该对象。 2.类a作为类b中成员变量时,setter方法中 3.b被回收时,dealloc成员a 1. 什么是内存
2015-07-20 22:34:46 262
原创 Foundation——集合
NSArray 是不可变数组,一旦创建完成就不能够对数组进行,添加,删除等操作。数组中可以存储不同类型的对象。数组实际上存储的时对象的地址,同样也可以存储数组的地址。以nil作为数组结尾。 1.创建集合 NSArray * array2 = [[NSArray alloc] initWithObjects:@"one",@"tw
2015-05-22 21:13:52 342
原创 Foundation——常用结构体,包装类,日期类
//1.创建一个NSRange结构体 表示范围 NSRange range = {4,5}; NSRange range2 = NSMakeRange(4, 5); NSString * strRange = NSStringFromRange(range); //转成字符串 NSLog(@"strRange %@",str
2015-05-22 21:13:08 330
原创 Foundation——文件操作
NSFileManager //1.获取文件管理器 NSFileManager * fileManager = [NSFileManager defaultManager]; NSString * path = @"/Users/aplle/Desktop/test.txt"; NSError * error;
2015-05-22 21:10:17 321
原创 OC语法细节
#import和#include的区别 1.当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误 但是使用两次#import的话,不会报错,所以他可以解决重复导入的问题,他会做一次判断,如果已经导入一次就不导入了 self :类似this关键字,代表指向该对象/类的指针常量 e.g
2015-05-22 21:08:37 335
原创 第一个OC程序模板
// 因为使用了NSObject #import // 完整地写一个函数:函数的声明和定义(实现) // 完整地写一个类:类的声明和实现 // 1.类的声明 // 声明对象的属性、行为 // : NSObject 目的是:让Car这个类具备创建对象的能力 @interface Car : NSObject {// 用来声明对
2015-05-22 21:05:44 1089
原创 文件操作
fopen r 以只读方式打开文件,该文件必须存在。 r+ 以可读写方式打开文件,该文件必须存在。 rb+ 读写打开一个二进制文件,允许读写数据,文件必须存在。 rw+ 读写打开一个文本文件,允许读和写。 w 打开只写文件, 若文件存在则文件长度清为0,即该文件内容会消失。 若文件不存在则建立该文件。 w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文
2015-05-22 21:03:58 259
原创 二进制文件
本质上是文本文件是把文件信息先转化成以字符编码的ascii码,再存储ascii的二进制代码。而二进制文件是直接把文件信息编码成二进制存储。因此在读取的时候要考虑内存中二进制代码应该怎么样解释。 二进制文件的读取是是要告诉元素的类型(编码方式),文本文件则默认为char类型。 文本文件是一种特殊的二进制文件 稍微了解C程序设计的人都知道,文本文件和二进制文件在计算机上面都是以0,1存储的,
2015-05-22 21:02:52 926
原创 c内存详解
http://blog.csdn.net/youoran/article/details/10990815 BSS和数据区按照代码执行的先后顺序依次将变量放入,地址由小到大 栈区按照代码执行的先后顺序依次把局部变量,调用函数的形参(c语言是从右往左)等入栈,地址由大到小 int * p=malloc(1024) ;int * p=malloc(20
2015-05-22 20:54:59 423
原创 -指针
指针:一个保存地址的变量,没什么特殊的。(指针的值是为了找到变量的位置,指针的类型是为了对变量进行特定的操作),指针是比喻的说法,a指向b实际上是a保存b的起始地址。 1.1.1 无类型指针 定义一个指针变量,但不指定它指向具体哪种数据类型。可以通过强制转化将void *转化为其他类型指针,也可以用(void *)将其他类型指针强制转化为void类型指针。 void *p 1.
2015-05-22 20:53:58 245
原创 结构体
结构名不是 起始位置的地址,而是结构的起始位置的数据。 结构名作为实参是值传递,为了提高效率,函数形参可定义为(const struct student * p) 初始化 : 方法一 struct student s; strcpy(s.name,"Johnny"); s.age=22; 方法二 struct student s={
2015-05-22 12:18:42 259
原创 字符(串)
#define _CRT_SECURE_NO_WARINGS #pragma warning (disable : 4996) 非零即为真,非null即为真 math.h double pow (double n,double m) 计算n的m次方 double sqrt(double n) 计算根号n scanf()参数是地址是因为要修改参数的值,必须传进去
2015-05-22 12:16:05 295
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人