程序员必知:一个不小心犯的指针错误

简介: 程序员必知:一个不小心犯的指针错误

尝试达到下面的效果:

输入框输入字符,单击按钮改变label框的值:

ViewController.h

//代码效果参考:http://www.zidongmutanji.com/bxxx/431090.html

1 #import

2

3 @interface ViewController : UIViewController

4

5 @property (nonatomic,assign) IBOutlet UITextField input1;

6 @property (nonatomic,assign) IBOutlet UILabel output1;

7

8

9 - (IBAction)click1;

10 @end

ViewController.m

1 #import "ViewController.h"

2

3 @interface ViewController ()

4

5 @end

6

7 @implementation //代码效果参考:http://www.zidongmutanji.com/zsjx/573773.html

ViewController

8

9 - (void)viewDidLoad {

10 【super viewDidLoad】;

11 // Do any additional setup after loading the view, typically from a nib.

12 }

13

14 - (void)didReceiveMemoryWarning {

15 【super didReceiveMemoryWarning】;

16 // Dispose of any resources that can be recreated.

17 }

18 - (void)click1{

19 // NSString input1 = _input1.text;

20 // NSString output1 = _//代码效果参考:http://www.zidongmutanji.com/zsjx/295237.html

output1.text;

21 // output1 = input1;

22 NSString input1 = _input1.text;

23 _output1.text = input1;

24 NSString output1 = _output1.text;

25

26

27 NSLog(@"test:%@,%@",input1,output1);

28

29

30 }

31

32 @end

click1方法里面我一开始是写的注释掉的3行,运行后正常打印,但是label的text值并未改变。原因是"output1 = input1"只是改变了output1指向 而已,使output1这个指向了input1所指向的地址,而_output1的set方法并不会被调用。好吧,我也不知道为什么开始会那样写orz.

相关文章
|
7月前
|
算法 程序员 索引
【Leetcode 程序员面试金典 02.08】 —— 环路检测 |双指针
我们可以使用双指针解决本题,由数学推导可知:a 的距离为(环长度的倍数 - b),即 tmp 指针从头节点走到环开头节点等于 slow 指针走到环开头节点的距离
|
7月前
|
算法 程序员
「程序员必须掌握的算法」双指针「上篇」
「程序员必须掌握的算法」双指针「上篇」
|
存储 关系型数据库 MySQL
被误解的tinyint(1)
被误解的tinyint(1)
被误解的tinyint(1)
|
算法 程序员
「程序员必须掌握的算法」双指针「上篇」
「程序员必须掌握的算法」双指针「上篇」
|
程序员 C++
程序员之路:C++常量指针和指针常量
程序员之路:C++常量指针和指针常量
112 0
|
6月前
|
C语言
指针进阶(C语言终)
指针进阶(C语言终)
|
2月前
|
C语言
无头链表二级指针方式实现(C语言描述)
本文介绍了如何在C语言中使用二级指针实现无头链表,并提供了创建节点、插入、删除、查找、销毁链表等操作的函数实现,以及一个示例程序来演示这些操作。
29 0
|
3月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
|
4月前
|
C语言
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
【C初阶——指针5】鹏哥C语言系列文章,基本语法知识全面讲解——指针(5)
|
4月前
|
C语言
【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)
【C初阶——指针4】鹏哥C语言系列文章,基本语法知识全面讲解——指针(4)