#import <Foundation/Foundation.h> // main.m // 总结:类与结构体的区别 // // Created by 晓 &zerone on 16/1/5. // Copyright © 2016年 xiao. All rights reserved. //
//1.相同点 //都是将多个数据封装为一个整体.例如: //结构体 struct Birthday{
int month;
int day; }; //类 @interface Birthday :NSObject { int month;
int day }
@end
//2.不同点 //1.结构体只能封装数据,而类还可以封装行为; //2.它们分配的空间不一样,结构体的变量在栈空间(当然你硬要说还有常量的情况我也无言以对),而类是的对象(注意的它的名称)分配在堆空间; //{ // 栈堆的区别:我现在只知道栈更小,数据访问运行效率更快;堆更大,数据访问运行效率没栈快(当然你要是说存个很大的数据在栈区,然后跟存在堆中进行对比,我也没办法) //} //3.就是赋值的问题:结构体是复制,类的对象是传地址; //例如: //结构体 struct Birthday bir1 = {2,28}; struct Birthday bir2 = bir1;
//类 Birthday *bir1 = [Birthday new];
Birthday *bir2 = [Birthday new];
bir2=bir1;
|