01 2015 档案
摘要:学到现在, 我们很快就要结束OC的教程了, 讲完protocol, OC语法就全部学完了, 现在我们来看看什么protocol, 在OC中, 我们都知道要.h文件里是用来声明方法和成员变量,.m文件里是用来实现的, 也知道类别是给系统类扩充一些必要的方法, 那么有没有一种机制是用来给我们自定义的类声...
阅读全文
摘要:在前面我们讲过许多数据类型, 比如基本数据类型, 枚举, 结构体等等, 这次我们来讲最后一个OC中的最后一个数据类型, 那就是block, 在OC开发中,block有些类似函数指针, 但又不完全一样, 下面让我们来看看:例子:#import int sum(int a, int b){ ret...
阅读全文
摘要:在我们之前的手动引用计数中, 我们都知道在循环引用如果两边使用retain的话, 那么两个对象谁也不会释放谁, 那么在ARC中呢??? 其实也是一个道理, 前面我们知道了ARC的特性, 是使用强弱指针来判断对象是否要被释放, 那么循环引用是否也是一样呢? 下面让我们一起来看看:例子:#import ...
阅读全文
摘要:在我们之前的项目中, 或多或少都会有手动引用计数的存在, 看到apple出了自动引用计数, 再看看自己的项目, 就有一种砸电脑的冲动, 别着急~~其实apple很为我们开发者着想, 旧项目一样可以转成ARC, 废话少说, 直接上图:后面的操作不需要我讲了吧? 傻瓜式的操作, 一直下一步, 直到完成为...
阅读全文
摘要:在我们之前的项目中, 或多或少都会有手动引用计数的存在, 看到apple出了自动引用计数, 再看看自己的项目, 就有一种砸电脑的冲动, 别着急~~其实apple很为我们开发者着想, 旧项目一样可以转成ARC, 废话少说, 直接上图:后面的操作不需要我讲了吧? 傻瓜式的操作, 一直下一步, 直到完成为...
阅读全文
摘要:前言:在前面, 我们学习了手动引用计数, 遵循了写一个alloc就写一个release的原则, 也学习了autorelease内存池, 在创建对象的时候调用autorelease方法, 就会在内存池销毁的时候就会对对象进行一次release操作, 但autorelease不能随便乱用, 对多占用内存...
阅读全文
摘要:前面我们学了OC内存管理的手动引用计数, 一个alloc, 一个release, 对象的释放由我们自己所决定, 在这里应该会有人问, 这样子运用手动引用计数好累, 有没有简单一点的方法, 答案肯定是有的, 现在我们就来看看第一个简单一点的方法,autorelease方法.首先我们来看看以前所写的例子...
阅读全文
摘要:在前面, 我们知道了OC的内存管理以及@property的参数, 其实还有一个叫做循环引用, 其实所谓的循环引用很简单, 就是两个类中, 你包含我, 我包含你, 这个就叫循环引用, 比如下面这个例子:#import #import "Car.h"@interface Person : NSObjec...
阅读全文
摘要:在前面我们利用了@property来简洁内存管理的代码, 但里面涉及到一些参数有很多人都不明白, 现在我们来一起看看~~1.set方法内存管理相关的参数* retain : release旧值,retain新值(适用于OC对象类型)* assign : 直接赋值(默认,适用于非OC对象类型, 也就是...
阅读全文
摘要:在前面, 我们基本上讲完了OC的内存管理, 但如果按照我们之前那样子做, 我们需要写非常非常多的代码, 在我们实际开发中, 不可能就只有那么一两个对象, 所以我们需要写的set方法和get方法就一大堆, 比如下面这个例子:#import #import "Book.h"@interface Pers...
阅读全文
摘要:在前面, 我们对OC的内存管理基本上有了一个认识, 也知道了多个对象的内存管理是如何处理, 虽然在前面的多对象内存管理符合内存管理的原则, 其实还有一定的小bug, 今天我们就来看看如何解决这个bug.例子:#import #import "Car.h"@interface Person : NSO...
阅读全文
摘要:在前面, 我们知道了OC中内存管理的机制, 引用计数, 也对引用计数有了基本的认识, 有些人可能会说, 引用计数而已, 不就是+1, -1么, 有多难? 的确, 在单个对象中的操作的确不难, 但如果是在多个对象之间操作呢? 这个就难了, 为什么这么说? 下面我们来看看示意图:在示例图中, 有两个对象...
阅读全文
摘要:在我们内存管理中, 一旦引用计数被清为零的对象, 我们称为僵尸对象, 而指向僵尸对象的指针, 我们称为野指针, 对于有一些朋友, 他们对这方面还不太了解, 那么有什么方法可以帮助他们呢?其实在Xcode里面, 自带是有僵尸对象检测功能的, 只要打开这个功能,Xcode就会一行一行代码去检测哪个为僵尸...
阅读全文
摘要:在Xcode里, 我们一新建文件, 就会出现一堆东西, 比如下面这图:一对注释, 然后下面一堆什么乱七八糟不是我们自己写的东西, 如果我们不想要, 是否可以去修改呢? 其实是可以的, 我这里用的是Mac OS的命令行, 所以它的地址是:Macintosh HD ▸应用程序 ▸ Xcode ▸Cont...
阅读全文
摘要:前言在我们OC中, 有一个东西是重中之重的知识点, 那就是内存管理, 什么是内存管理呢? 其实内存管理是我们app在运行的时候所使用的内存大小, 在iOS中, 给我们应用设定了一个固定的内存值, 一旦超过这个值, 系统就会给app发送内存警告, 如果这个警告不处理, 那么就会强制关闭应用, 就是我们...
阅读全文
摘要:在这之前, 我们回想一下, 我们知道实现我们所需要的功能, 就要调用某些方法, 那么这些方法又是怎么样调用的呢? 原理是怎么样的? 让我们一起来探讨一下看看~~例子:#import @interface Person : NSObject- (void)test;@end@implementatio...
阅读全文
摘要:前面讲了一些比较抽象的东西, 类的加载过程以及类别的加载过程, 这次我们来讲讲NSObject自带description方法, 这个方法有两个, 一个是实例方法, 一个是类方法, 下面让我们一起来探究探究吧:例子:#import @interface Person : NSObject@proper...
阅读全文
摘要:补充一个加载过程的知识点, 那就是类别的加载过程, 类别的加载过程有一些特殊, 废话不多说, 直接上例子:#import @interface Person : NSObject+ (void)load;@end@implementation Person+ (void)load{ NSLog...
阅读全文
摘要:在前面, 我们知道了类的本质其实也是一个对象, 是Class类型, 那么类的加载过程是如何的呢?? 其实类的加载过程非常简单,先加载父类然后再加载子类, 而且每一个类就只会加载一次, 下面让我们来看看~例子:#import @interface Person : NSObject+ (void)lo...
阅读全文
摘要:在前面, 我们学习了OC的很多语法, 还有书写规范, 在这过程中肯定会有人有很多疑问, 今天我们就来讲讲其中的一个东西, 类的本质, 类的本质其实也是一个对象, 为什么这么说呢, 下面让我们来一起探讨一下:例子:#import @interface Person : NSObject@propert...
阅读全文
摘要:前面我们基本认识了类别是用来怎么用的, 那么现在我们来讲讲在实际开发中的一些事项, 其实在实际开发中, 类别用的最多的是给系统类添加方法的, 因为我们自己自定义的类灵活性比系统类要高, 而系统的类是固定死的, 如果给它添加方法, 我们只能选择使用类别, 下面让我们来看看~~例子:#import @i...
阅读全文
摘要:在我们开发中, 如果要给一个类扩充一些方法, 那么我们应该会选择使用继承, 但问题来了, 如果是使用继承, 那么我们就又要创建对象, 写更多的代码, 更加的麻烦了, 而类别(Category)就可以为我们解决这一类的问题.下面让我们来一起来看看例子:#import @interface Person...
阅读全文
摘要:在前面, 我们认识了什么是构造方法, 构造方法是不是固定就只有一种呢? 其实不是的, 我们也可以自己定义构造方法, 利用我们自己定义的构造方法来完成更多的功能, 或者说提高我们的编程效率, 下面让我们一起来探究吧~~例子:#import @interface Person : NSObject@pr...
阅读全文
摘要:在我们之前的学习里, 我们创建对象的时候都是用new方法, 其实在实际开发中,new是不太正规的写法, 写的太死了, 很有局限性, 所以我们得另寻方法解决, 让我们一起来看看吧~~~例子:#import @interface Person : NSObject@end@implementation ...
阅读全文
摘要:之前, 我们已经讲了一些关于OC, 还有编译器的一些特性, 比如@property和@synthesize, 这次我们来说说新的特性, 而这个特性就只能运用在OC对象中, 下面让我们一起来看看~~例子:#improet @interface Person : NSObject@end@impleme...
阅读全文
摘要:在之前, 我们知道了成员变量有多少种作用域, 在默认的@protected需要声明setter方法和getter方法, 这样子才能访问我们的成员变量, 但问题来了, 挖掘机技术哪家....扯远了, 虽然setter方法和getter的确是成功的访问到我们需要的成员变量, 但不好用, 因为需要写的东西...
阅读全文
摘要:之前我们稍微讲过一些关于成员变量的作用域的知识, 今天我们来复习一下.例子:#import @interface Person : NSObject{ @public int _age; @private NSString *_name; @protec...
阅读全文
摘要:在前面, 我们知道了使用Setter和Getter方法去代替@public去访问成员变量, 在@interface里声明两个方法, 在@implementation里实现, 然后在main()函数里进行调用, 但调用的写法还是有一些繁琐, 所以我们学习另外一种更加好的写法, 点语法, 下面让我们一起...
阅读全文
摘要:前言在第二天里, 我们学习了OC语言中的三大特性, 封装, 继承, 多态, 那么在今天, 我们主要来学习OC语法中的其他知识.开始在C语言里, 我们都知道没有字符串的标准写法, 只能用char[]数组, 或者char *的方式来存储字符串, 那么在OC里又是怎么样存储字符串的呢? 有没有专门的类用来...
阅读全文
摘要:OC中的三大特性, 我们已经讲完了封装,继承, 现在我们来看看最后一个, 多态, 什么是多态呢?? 顾名思义就是有多种形态, 那么在OC中的对象又是怎么样拥有多种形态的呢??? 让我们一起来看看吧~~例子:#import /*********Animal声明**********/@interface...
阅读全文
摘要:在前面, 我们学了继承的一些知识, 现在我们来学习继承的最后一个知识点, 也就是Super关键字, 在这之前, 我们就已经学过一个关键字self, 那么这次的Super又会怎么样呢? 让我们一起来看看~~~例子:#import @interface Person : NSObject- (void)...
阅读全文
摘要:在前面, 我们知道了继承的注意事项, 其实继承还有使用的场合, 还有组合的注意事项:首先我们来说使用场合:#import @interface Score : NSObject{ int _mathScore; int _chinaseScore;}@end@implementation...
阅读全文
摘要:在前面, 我们知道了继承的基本认识, 那继承有什么使用注意呢? 又可以怎样组合呢? 下面让我们一起来看看~~例子:#import /**********Person类声明**********/@interface Person : NSObject{ int _weight; doubl...
阅读全文
摘要:OC语言里的三大特点分别是封装,继承, 多态, 在前面我们已经讲过封装思想了, 怎么去运用得需要看个人的修行, 现在我们来讲解继承~~在我们日常生活中也有继承一说, 比如你继承了某人的财产, 你继承了你父母的基因, 你继承了某人的意志(出自火影忍者)等等, 那么在OC上也是同理, 让我们来看一个例子...
阅读全文
摘要:前面我们学了self的基本使用, 现在我们来看看self的注意事项~~1.死循环#import @interface Preson : NSObject- (void)test;+ (void)test;@end@implementation Preson- (void)test{ NSLog...
阅读全文
摘要:在前面我们知道了实例方法,类方法, set方法,get方法, 现在我们来讲一个和OC普通关键字(因为OC的关键字都带"@"符号)不一样的self, 那什么是self呢??? 下面让我们一起来看看~~先看一个例子:#import @interface Preson : NSObject{ int...
阅读全文
摘要:前面我们学习了类方法的基本认识, 知道了在哪些场合使用类方法更好, 那么现在我们来练习一下, 设计一个我们的工具类~~PS: 基本上没有用到任何实例变量, 而且里面的方法都是类方法, 这样子的类我们成为工具类.首先我们来看一个例子:#import @interface Calculator : NS...
阅读全文
摘要:在之前我们学的东西里, 我们一直都在使用实例方法, 那么除了实例方法之外, 还有没有另外一种方法呢? 答案是有的, 除了实例方法, 还有一种方法叫做类方法, 所谓的类方法其实就是以类名开头, 不需要创建对象, 直接调用的一种方法, 下面让我们一起来探究一下~~例子:#import @interfac...
阅读全文
摘要:之前, 我们学习了C语言, 知道了C语言是一种弱语法, 它没有把一些不规范的写法直接报错, 而是只有一个警告, 我们都知道警告是可以编译成功的, 只有在运行时或者链接时才会报错, 那么在OC里又是怎样呢? 下面让我们来看看~~C语言例子:int main(){ asdasd(); ret...
阅读全文
摘要:前面我们了解了一些封装的思想, 所谓的封装就是把一些成员变量保护起来, 不让别人去随意修改, 其实这个和我们日常生活中的包装很像, 比如超市里的真空包装食品, 经常真空包装的保护, 那么食物就不容易发霉过期, 那么在OC程序里面的封装也是同样的道理, 否则一直使用@public会让别人随意改动自己的...
阅读全文
摘要:前言在第一天里面, 我们知道了类, 对象, 方法, 还有一些基础知识, 到了第二天, 我们继续往下来慢慢学习, 只有耐心的学习, 才能学的好, 否则就像没有基座的塔一样, 倒了~开始在之前的例子里, 我们都知道怎么声明成员变量, 但如果要去访问成员变量的话, 就必须得写一个@public才能访问, ...
阅读全文
摘要:在前面, 我们知道了什么是类与对象的关系, 但使用对象的时候注意陷阱, 因为还有一种对象叫做匿名对象, 下面我们来看看~~例子:#import @interface Eyeglass : NSObject{ @public int lens;}- (void)eyeglassLens;@...
阅读全文
摘要:前面我们学习了方法的注意事项, 这次我们来自己练习一回~~~需求: 比如, 我需要知道两个人的体重差值是多少, 用一个方法来实现, 看看下面的例子:#import @interface Preson : NSObject{ @public double weight;}- (double...
阅读全文
摘要:前面我们学习了怎么设计一个合理的类, 这次我们来讲解一些OC方法, 在之前的例子里, 我们也用过方法, 但对方法的印象不深, 方法还有什么用途呢? 下面让我们来一起看看~~首先我们来看一个例子:#import @interface Preson : NSObject{ @public i...
阅读全文
摘要:前面我们已经讲解完了一些基础知识, 注意事项, 还有一些简单的例子, 那么今天我们来设计一个属于我们自己的类, 要怎么做才设计的合理呢? 下面我们来看看~~首先我们得知道要做什么, 比如我要设计一个学生的类, 那么要如何设计呢?类名: 学生属性: 名字, 性别, 体重, 身高, 生日行为(方法): ...
阅读全文
摘要:前面我们简单的介绍了方法和函数的混编, 这次我们来讲解一些注意事项:首先我们来看一个例子:#import @interface Proson : NSObject{ int age;}- (void)walk;@end@implementation Proson- (void)walk{ ...
阅读全文
摘要:前面我们知道了怎么设计类, 以及怎么创建类, 那么这次我们来讲讲OC的对象与函数吧~~下面我们来看一个例子~~#import @interface Car : NSObject{ @public int wheels; int speed;}- (void)run;@end@imp...
阅读全文
摘要:之前我们讲解了第一个OC类, 但还有一些更加细节的东西没有讲解, 下面让我们继续来看看吧~~~#import @interface Preson : NSObject{ @public int age; double weight;}- (void)walk;@end@implem...
阅读全文
摘要:前面我们知道了类和对象的关系, 也知道了面向对象的核心就是对象, 那么我们运用之前所学到的知识来创建我们的第一个OC类, 下面让我们来看看.下面我们来看一个例子:#import @interface Car : NSObject{ @public int wheels; int s...
阅读全文
摘要:前面我们讲完了面向对象的思想, 那么现在我们来讲讲什么是对象, 什么是类.比如:一家工厂要生产一台轿车, 首先得有一台轿车的设计图, 然后根据这个设计图, 可以做出很多轿车, 然后轿车里面有一些不同, 比如它们的配置, 我们都知道, 一个车型有不同的配置, 比如手动档, 自动挡等等一系列的不同, 但...
阅读全文
摘要:在我们日常生活中面向过程和面向对象的思想经常都有使用, 打个比方:比如炒股票面向过程:1. 打印各种资料2. 去到证卷行提交资料申请开户3. 购买股票面向对象:直接找到证卷开户中介叫他帮你开户, 并且帮你搞定一切, 你就安安心心的看你的股票行情.比如开车面向过程:1. 购买一部车2. 亲自去车管所上...
阅读全文
摘要:前面我们讲解了OC与C的多文件编译, 这次我们来讲解一下BOOL,BOOL类型只有在OC上才有, C语言是没有的, 那么什么是BOOL呢? 下面让我们一起来看看~~例子:#import int main(){ BOOL a1 = YES; BOOL a2 = NO; BOO...
阅读全文
摘要:前面我们简单的讲解了OC程序和C语言的程序的一些区别, 这次我们来看看OC是怎么使用多文件编译.下面我们来看看例子:输出的结果:我们这里看到了, 其实OC的多文件编译和C语言是一样的, 唯一的区别就是使用了这个框架就要在后面添加(-framework Foundation)下面我们来看看OC文件和C...
阅读全文
摘要:前言前面我们已经讲完了C语言的基础, 终于进入到Objevtive - C啦, 这里我们简称为OC, OC是什么? 简单来讲, 它是一门基于C语言演变而来的一门面向对象的语言, 在C语言上添加了属于自己的特色, 可以说OC是完全兼容C语言的.开始现在我们来看看例子:#include int main...
阅读全文
摘要:上一节, 我们讲解了static和extern对于函数的作用, 这次我们来讲解static和extern对于变量的作用.首先, 我们来看一个例子:输出的结果:有人会疑问, 为什么我在main.c文件里面定义的全局变量会和在one.c文件里面的全局变量的输出结果和地址是完全一样的呢?其实原因很简单, ...
阅读全文
摘要:前言在前面, 我们讲过局部变量和全局变量, 那么在函数里面, 有没有类似这样子的定义呢? 其实是有的, 函数在这里分为外部函数和内部函数, 分别用两个关键字来声明, 下面我们一起来看看吧~~开始首先我们来看看一个例子:我创建了两个文件, 一个用来存放main函数, 一个用来存放其他函数, 关于mai...
阅读全文
摘要:上一节我们简单的介绍了一下typedef的基本认识, 这次我们来讲解一下它与宏定义的一些对比~~有研究的朋友肯定会发现, 使用宏定义一样可以达到类似typedef的效果, 比如:#include #define String char *int main(){ String s; ...
阅读全文
摘要:前言在我们学习开发中, 有很多类型都是系统自带的, 比如int, double, long, 指针类型, 如果, 你是系统自带类型恐惧症患者, 那么typedef就可以帮到你了, 请仔细看下面的内容.开始首先让我们来看一个例子:#include typedef int MyInt;int main(...
阅读全文
摘要:上一节课, 我们讲解了条件编译的一些知识, 这次我们来讲解一下怎么运用宏定义来进行多文件编译.现在来让我们看一个例子:输出的结果:PS: 1.运用多个文件编译的时候, 一定要把所有的.c文件一起编译, 否则编译器会报错. 2.引用头文件是可以多次引用的, 虽然编译器不会报错, 但会为编译器增加一...
阅读全文
摘要:上一节我们讲解了带参数和不带参数的宏定义, 这次我们来讲解条件编译, 什么是条件编译呢? 我们来看看吧下面我们来看看例子:#include int main(){ int a = 10; if (a == 10) { printf("a是10\n"); ...
阅读全文
摘要:上一节课, 我们讲解了不带参数的宏定义, 这节课我们就来讲讲带参数的宏定义又是怎么定义, 使用和注意事项~~下面我们来看一个例子:#include #define kSum(a, b) a+bint main(){ int a = 10; int b = 20; i...
阅读全文
摘要:前言前面我们总结了C语言的数据类型, 有基础数据类型, 构造数据类型等等, 这次我们来讲讲C语言的宏定义,.开始什么是宏定义, 宏定义定义的又是什么东西? 有什么规范, 下面我们来看看例子:#include int main(){ int a[] = {1, 2, 3, 4}; ...
阅读全文
摘要:一、基本数据类型1.int1> long int == long:8个字节 %ld 或者 %li2> short int == short:2个字节 %d 或者 %i3> unsigned int == unsigned:4个字节 %zd 或者 %zi4> signed int == signed...
阅读全文
摘要:前言前段时间我们讲完了指针和结构体, 这次我们来讲枚举类型, 什么是枚举呢? 打个比方, 比如我们一个星期有七天, 从周一到周日, 这是固定不变, 不可能无端端的跳出一个星期八出来, 在这种固定的情况下, 我们如果要写一个程序去固定这七天, 并且不让别人乱修改, 为了满足这个需求, 枚举就诞生啦.开...
阅读全文
摘要:上一节, 我们讲解了结构体与函数, 这次我们来讲解一下结构体的嵌套使用.比如有一个学生, 我需要知道他的学号, 生日年月日, 入学年月日, 如果用结构体我们需要怎么做呢?按照常规的定义, 就像下面的例子:#include int main(){ struct Date { ...
阅读全文
摘要:上一节课, 我们讲解了指向结构体的指针, 这次我们来讲讲, 结构体与函数~~下面我们来看一个小例子:#include struct Student{ int age; char *name;};void test(struct Student s){ s.age = 30; ...
阅读全文
摘要:上一节, 我们讲解了结构体数组, 这次我们来讲解指向结构体的指针, 之前我说过, 只要有地址, 指针就能指向它, 那么下面我们来看看结构体的指针吧~~~下面我们来看一个例子:#include int main(){ struct Student { int age; ...
阅读全文
摘要:上一节, 我们讲解了一下结构体的定义方式, 作用域, 以及注意事项, 这次我们来讲解结构体数组.有些人疑问, 结构体也有数组啊? 这是肯定的, 其实结构体数组非常常用, 下面我们来看一个需求示意图:按照上图所示, 如果我们要求这样子输出, 我们就要有几个不同类型的数组才能完成, 但如果有了结构体, ...
阅读全文
摘要:前面我们讲解了结构体在内存中是如何存储的, 这次我们来讲解一下结构体定义的一些基本认识.下面我们看一个例子:#include int main(){ struct Student stu { int age; //年龄 double height; /...
阅读全文
摘要:上一节, 我们简单的介绍了结构体的一些知识点, 以及一些注意的事项, 这次我们来看看结构体是怎么样在内存存储的~我们来看一个小例子:#include int main(){ struct Date { int year; double dou; ...
阅读全文
摘要:前言在C语言里面, 我们如果需要定义多个类型的东西, 可以使用数组定义, 但数组有局限性, 一个数组只能存储多个同一种类型的数据, 并不能同时存储不同类型的数据, 由此需求, 所以结构体诞生了.开始下面让我们来看一个小例子:#include int main(){ // 1.定义结构体类型 ...
阅读全文
摘要:前言何为变量? 在我们之前学到的知识里面, 定义过很多变量, 比如int 变量, double变量, long变量, 这些都是属于变量, 这次我们所说的知识是在这些变量的基础上再添加一些知识, 那就是全局变量以及局部变量.开始我们来看一个小例子:#include int a;void test(){...
阅读全文
摘要:前几节, 我们讲了指针对于数组, 字符串, 还有一些补充的知识, 现在我们来讲指针的最后一个应用, 那就是函数指针.下面我们来看一个小例子:#include char *test();int main(){ char *name = test(); printf("name=%s...
阅读全文
摘要:上一节我们讲到了指针和数组, 这次我们来讲解一下指针和字符串, 这次的内容和上一节有相似的地方, 也有全新学习的地方, 让我们一起来看看吧~~下面我们来看一个小例子:#include int main(){ char name[] = "abcde"; name[0] = 'A'...
阅读全文
摘要:上一节, 我们补充了一点关于指针的小知识, 这次我们来讲讲指针和数组:首先, 我们来看一个小例子:#include int main(){ int ages[5] = {10, 20, 30, 40 ,50}; int *p; p = &ages[0]; ...
阅读全文
摘要:上一节讲解了关于指针的指针, 这次我们来补充多一点点的小知识~~下面我们来看一个小例子:#include int main(){ double d = 10.5; double d2 = 10.5; double *p; p = &d; p = &d2;...
阅读全文
摘要:上节课, 我们讲解了一些注意的事项以及指针的写法, 这节课我们来讲解一下什么叫做指针的指针.指针的指针, 顾名思义就是指向指针的指针, 当有一个定义了一个整型变量, 定义一个指针变量指向该整型变量, 那么指针变量存的地址就是整型变量的地址, 而指针的指针指向该指针, 那么存的就是该指针的地址, 下面...
阅读全文
摘要:上一节我们讲解了C语言指针的简单使用, 这次我们来讲讲一些注意事项, 比如怎么定义指针, 正确使用指针:例子1:错误写法:原因: 指针类型不对, int *p只能指向int类型的数据;#include int main(){ int *p; double d = 10.0; p =...
阅读全文
摘要:前言:何为C语言指针?为什么学C语言一定要去学指针呢?指针的作用又是什么?下面我们来讲解简单讲解一下目的:学习C语言指针最简单的目的就是更加方便我们去编程啦, C语言是一门简单的高级语言, 可以直接操控内存, 既然能直接操控内存, 那我们就好非常好的利用有限的内存, 做到精益求精, 而指针恰好就是涉...
阅读全文