iOS 基本数据类型 和 指针 特点

基本数据类型 : 整型int, 字符型char , 浮点型 (float 和 double), 枚举型;

-- 构造类型 : 数组类型, 结构体类型, 共用体类型;

-- 指针类型 : 最终要的数据类型, 所有的系统类, 自定义类都是指针;

-- 空类型 : 空类型只有一个值 nil, 该类型没有名称, 因此没有空类型的变量, 变量不能转换成空类型, 但是空类型可以转换成任何引用类型;

今天有个同事 问我一个问题 上代码还原问题情形

+(void)creat
{
    int count = 10;
    for (int i = 0; i < 10; i++) {
        [self fun:count];
        NSLog(@"%d",count);
    }
}
+(void)fun:(int)count
{
    count ++;
}
打印结果都是10

他问 为啥 

我说 如果是指针的话好解释  指针传递地址   但是int 是基本数据类型 没有指针 只是new 了一个对象 所以 不变

我觉得我还是没说到点子上,而且片面 , 关键一句话:指针 传递地址  基本类型传递数值  传递地址  传递数值 都不是引用 没有引用 即使在被调用方法里 对形式参数做了相关操作 也不会影响主函数的对应实参.

所以 要想有变化 1  引用 2  回调参数即可

原文地址:https://www.cnblogs.com/someonelikeyou/p/4366495.html