指向指针的指针剖析
来源:互联网 发布:3dmax是什么软件 编辑:程序博客网 时间:2024/06/05 10:30
1 #include <stdio.h>
2 #include <string.h>
3
4 void swap_str(char **a,char **b) ;
5 int main()
6 {
7
8 char * p1= "apple" ,* p2="orange" ;
9
10
11 printf("before swap pointer fruits are \n%s %s\n\n",p1,p2);
12 swap_str(&p1,&p2);
13 printf("after swap pointer fruits are \n%s %s\n",p1,p2);
14 }
15
16
17 void swap_str(char **a,char **b)
18 {
19 char * t ;
20 t = *a;
21 *a = *b ;
22 *b = t;
23
24 };
编译执行结果
[root@ACA60105 c]# gcc -g ptp.c
[root@ACA60105 c]# ./a.out
before swap pointer fruits are
apple orange
after swap pointer fruits are
orange apple
void swap_str(char **a,char **b)
{
400676: 55 push rbp
400677: 48 89 e5 mov rbp,rsp
40067a: 48 89 7d e8 mov QWORD PTR [rbp-0x18],rdi
40067e: 48 89 75 e0 mov QWORD PTR [rbp-0x20],rsi
char * t ;
t = *a;
400682: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
400686: 48 8b 00 mov rax,QWORD PTR [rax]
400689: 48 89 45 f8 mov QWORD PTR [rbp-0x8],rax
*a = *b ;
40068d: 48 8b 45 e0 mov rax,QWORD PTR [rbp-0x20]
400691: 48 8b 10 mov rdx,QWORD PTR [rax]
400694: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
400698: 48 89 10 mov QWORD PTR [rax],rdx
*b = t;
40069b: 48 8b 45 e0 mov rax,QWORD PTR [rbp-0x20]
40069f: 48 8b 55 f8 mov rdx,QWORD PTR [rbp-0x8]
4006a3: 48 89 10 mov QWORD PTR [rax],rdx
};
2 #include <string.h>
3
4 void swap_str(char **a,char **b) ;
5 int main()
6 {
7
8 char * p1= "apple" ,* p2="orange" ;
9
10
11 printf("before swap pointer fruits are \n%s %s\n\n",p1,p2);
12 swap_str(&p1,&p2);
13 printf("after swap pointer fruits are \n%s %s\n",p1,p2);
14 }
15
16
17 void swap_str(char **a,char **b)
18 {
19 char * t ;
20 t = *a;
21 *a = *b ;
22 *b = t;
23
24 };
编译执行结果
[root@ACA60105 c]# gcc -g ptp.c
[root@ACA60105 c]# ./a.out
before swap pointer fruits are
apple orange
after swap pointer fruits are
orange apple
void swap_str(char **a,char **b)
{
400676: 55 push rbp
400677: 48 89 e5 mov rbp,rsp
40067a: 48 89 7d e8 mov QWORD PTR [rbp-0x18],rdi
40067e: 48 89 75 e0 mov QWORD PTR [rbp-0x20],rsi
char * t ;
t = *a;
400682: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
400686: 48 8b 00 mov rax,QWORD PTR [rax]
400689: 48 89 45 f8 mov QWORD PTR [rbp-0x8],rax
*a = *b ;
40068d: 48 8b 45 e0 mov rax,QWORD PTR [rbp-0x20]
400691: 48 8b 10 mov rdx,QWORD PTR [rax]
400694: 48 8b 45 e8 mov rax,QWORD PTR [rbp-0x18]
400698: 48 89 10 mov QWORD PTR [rax],rdx
*b = t;
40069b: 48 8b 45 e0 mov rax,QWORD PTR [rbp-0x20]
40069f: 48 8b 55 f8 mov rdx,QWORD PTR [rbp-0x8]
4006a3: 48 89 10 mov QWORD PTR [rax],rdx
};
阅读全文
0 0
- 指向指针的指针剖析
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针 **
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针
- 指向指针的指针
- OI高效率对拍程序写法及常用数据生成器
- C++的一些小把戏
- 摘Galo
- UI控件- > Scroll Pane(滚动面板)
- XML约束
- 指向指针的指针剖析
- 属于CSS3的新特性(二)
- caffe中的crop层
- MySQL行级锁、表级锁、页级锁
- 【失去更新】2017noip前后每日总结
- 1383 整数分解为2的幂 找规律。
- SSH与SSM学习之SSH整合01——SSH整合原理和导包
- React 实现井字棋游戏 (tic-tac-toe) 教程 (2) <译自官方文档>
- 【DuerOS开发日记】2.打造属于自己的小度(1):使用PythonSDK