A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


#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;

评分

参与人数 1黑马币 +4 收起 理由
me1127 + 4 很给力!小伙子不错,加油

查看全部评分

3 个回复

倒序浏览
因为XCODE背景的关系,好多看不到,重新发一次!

#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;

回复 使用道具 举报
理解很到位嘛!!加油!!
回复 使用道具 举报
海棠依旧2046 来自手机 中级黑马 2016-1-5 23:19:17
板凳
如今是雾里看花水中望月,希望柳暗花明早一天到来
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马