内容没改变,要改变内容用ex的实现中应该用*m = *n;
C语言中函数参数为指针变量时,在子函数中交换指针地址为什么不会反应到主函数里?
#include <stdio.h>
void ex(int *m, int *n);
int main () {
int *p1, *p2;
int a = 7, b = 1;
p1=&a;
p2=&b;
printf ("p1=%p p2=%p\n", p1, p2);
ex(p1,p2);
printf ("p1=%p p2=%p\n", p1, p2);
}
void ex(int *m, int *n) {
int *t;
t = m;
m = n;
n = t;
}
为什么这样做之后,p1指针还是指向a,而不是指向b?
- 点赞
- 写回答
- 关注问题
- 收藏
- 复制链接分享
- 邀请回答
2条回答
为你推荐
- malloc给指针分配的新地址是会覆盖掉原指针变量的地址吗吗?
- c语言
- 4个回答
- 通过函数改变实参指针变量所指变量的值?
- 一个初学c语言指针的小白的问题:关于两指针指向的交换
- c语言
- 1个回答
- C语言中函数参数为指针变量时,在子函数中交换指针地址为什么不会反应到主函数里?
- c语言
- 1个回答
- 为什么宏定义变量不能作为函数参数传入?
- c语言
- 1个回答
- C语言新手在指针(数组)方面遇到的一些问题
- c语言
- 1个回答
- 用指针传递,使用选择法实现将数组中的数从小到大排列
- c语言
- 1个回答
- C语言中指针数组作为函数参数传递的地址问题?
- c语言
- 2个回答
- 关于C语言函数内存分配的疑问
- c语言
- 2个回答
- 函数指针做为结构体成员,怎么正确调用此函数指针所指向的函数?
- c语言
- 1个回答
- 关于c语言指针变量做函数参数中题目的一些疑问
- c语言
- 1个回答
- C语言栈相关,指针操作以及局部变量函数返回的相关问题
- 1个回答
- 能不能通过修改指针的指向来修改指针所指向的变量的值
- 6个回答
- C语言中指向函数的指针变量
- 3个回答
- c语言三维数组做函数输入变量,函数的形参怎么写?
- c语言
- 4个回答
- C语言中多文件的全局变量声明问题
- 3个回答
- C语言中二级指针修改数组问题。
- 3个回答
- C语言函数间用指针调用数值的问题
- 7个回答
- C语言数组作为参数传入子函数
- 17个回答
- 如何运用指针把说需要的地址传回主函数
- 1个回答