iOS 基本数据类型 和 指针 特点
基本数据类型 : 整型int, 字符型char , 浮点型 (float 和 double), 枚举型;
-- 构造类型 : 数组类型, 结构体类型, 共用体类型;
-- 指针类型 : 最终要的数据类型, 所有的系统类, 自定义类都是指针;
-- 空类型 : 空类型只有一个值 nil, 该类型没有名称, 因此没有空类型的变量, 变量不能转换成空类型, 但是空类型可以转换成任何引用类型;
今天有个同事 问我一个问题 上代码还原问题情形
+(void)creat
{
int count = ;
for (int i = ; i < ; i++) {
[self fun:count];
NSLog(@"%d",count);
}
}
+(void)fun:(int)count
{
count ++;
}
打印结果都是10
他问 为啥
我说 如果是指针的话好解释 指针传递地址 但是int 是基本数据类型 没有指针 只是new 了一个对象 所以 不变
我觉得我还是没说到点子上,而且片面 , 关键一句话:指针 传递地址 基本类型传递数值 传递地址 传递数值 都不是引用 没有引用 即使在被调用方法里 对形式参数做了相关操作 也不会影响主函数的对应实参.
所以 要想有变化 1 引用 2 回调参数即可
iOS 基本数据类型 和 指针 特点的更多相关文章
- Golang语言系列-06-map数据类型和指针
Map数据类型和指针 Map数据类型 Map基本概念 package main import "fmt" // map // make()函数和new()函数的区别 // make ...
- C++中const修饰基本数据类型、指针、引用、对象
const修饰基本数据类型 #include <iostream> using namespace std; void main(){ const int a = 1; const cha ...
- iOS指向函数的指针和block
一:block基础知识 block基础知识 基本概念:block是用来保存一段代码的:^:是block得标志 好比*:是指针的标志 特点:1:保存一段代码: 2:可以有参数和返回值: 3:可以作 ...
- ios学习之旅---指针也不难
1.认识指针 #include <stdio.h> //基本数据类型作为函数參数传递是值传递 //void moveFront(int x ,int y) //{ // x = x + 2 ...
- IOS学习之路-- 指针&宏函数
如果*p被()包住,说明指针变量p将来指向的是函数 //声明一个指针变量 //int (*p)(int, int) = sum; int (*p)(int, int); p = sum; // 如果* ...
- C语言-06复杂数据类型-03指针
指针变量的定义 变量类型 *变量名; #include <stdio.h> int main() { // 指针就一个作用:能够根据一个地址值,访问对应的存储空间 // 指针变量p前面的i ...
- ios 基础数据类型
1:NSString http://blog.csdn.net/likendsl/article/details/7417878 http://xys289187120.blog.51cto.com/ ...
- iOS 类方法 、野指针与空指针
一.类方法: 不依赖于对象,执行效率更高; 能用类方法解决的问题,尽量使用类方法; 类方法中不能直接访问实例变量(成员变量) 二.野指针和空指针是什么?什么时候产生?怎么避免? 只要一个对象被释放了, ...
- IOS基本数据类型之枚举
枚举是C语言中的一种基本数据类型,通过枚举可以声明一组常数,来代表不同的含义,它实际上就是一组整型常量的集合. 枚举是非常常用的一种类型,在现实生活中也很常见.比如有四个季节,在不同的季节需要显示不同 ...
随机推荐
- java代理ip有效检测
java实现代理ip有效检测,依赖Apache的HttpClient 正式版: /** * 批量代理IP有效检测 * * @param pro ...
- video视频播放以及主流浏览器兼容
直接看代码吧! <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...
- Android项目:使用pulltorefresh开源项目扩展为下拉刷新上拉加载更多的处理方法,监听listview滚动方向
很多android应用的下拉刷新都是使用的pulltorefresh这个开源项目,但是它的扩展性在下拉刷新同时又上拉加载更多时会有一定的局限性.查了很多地方,发现这个开源项目并不能很好的同时支持下拉刷 ...
- 更改 Nginx 服务的默认用户
为什么要更改 Nginx 服务的默认用户:就像更改 ssh 的默认 22 端口一样,增加安全性,Nginx 服务的默认用户是 nobody ,我们更改为 nginx 1.添加 nginx 用户 use ...
- 借助Anyproxy实时监控接口调用次数和流量
监控接口调用次数,是为了测试客户端可能会异常频繁的调用服务端接口,出现性能问题. AnyProxy是一个开放式的HTTP代理服务器. github: https://github.com/alibab ...
- Spring Cloud Zuul 网关的分布式系统中整合Swagger(转)和 zuul跨域访问问题
首先恭喜自己终于找对了努力的方向,很荣幸能在公司接触到微服务架构,也很高兴公司一个大佬哥们愿意带我,他技术确实很牛逼,我也很佩服他,前后端通吃,干了六年能有这样的水平.最近跟着在搞微服务架构,给我分配 ...
- window平台安装 MongoDB(二)
MongoDB提供了可用于32位和64位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB预编译二进制包下载地址:http://www.mongodb.org/downloads ...
- 出现windows启动服务失败(无法从命令行或调试器启动,需要安装InstallUtil.exe)的解决办法
两种方法1 从命令行安装2 选择项目-视图-自定义操作 然后将 安装,提交,回滚,卸载分别加入自定义操作,注意InstallClass属性为true
- linux 解决 安装软件一直出现重复的信息
State : Sleeping, pid: Another app is currently holding the yum lock; waiting for it to exit... The ...
- Python读取文件数据
1题目要求: 文本文件有这些数据,需要的只有其中的5个属性,如下颜色标记 像以下的数据达到75万组: 1product/productId: B0000UIXZ4 2product/title: Ti ...