C语言—指针基础(2:指针交换两个数)
2017-12-13 01:49
197 查看
用指针交换两个数:
注意:在子方法里交换两个数只能是引用传递,由于java都是值传递,而c可以传递指针,所以c可以修改临时变量的值
java不能修改临时变量的值,java是通过返回值来获取方法运行的结果:
c可以直接通过指针修改临时变量的值:
void swap(int *p,int *q) { int temp; temp = *p; *p = *q; *q = temp; } int main() { int a = 3, *p,c = 5, *q; p = &a; //把变量a的地址赋值给指针p,即p指向a q = &c; swap(p,q); printf("a = %d,c = %d\n", a, c); return 0; }
注意:在子方法里交换两个数只能是引用传递,由于java都是值传递,而c可以传递指针,所以c可以修改临时变量的值
java不能修改临时变量的值,java是通过返回值来获取方法运行的结果:
public static void main(String[] args) { int a=3,b=5; fun(a, b); System.out.println("a=" + a + ";b=" + b); } private static void fun(int p,int q){ p *= 2; q *= 2; }
c可以直接通过指针修改临时变量的值:
void fun(int *p, int *q) { *p *= 2; *q *= 2; } int main() { int a = 3, *p,c = 5, *q; p = &a; //把变量a的地址赋值给指针p,即p指向a q = &c; fun(p,q); printf("a = %d,c = %d\n", a, c); return 0; }
相关文章推荐
- C语言中如何用指针交换两个数的大小
- C语言利用指针在函数中交换两个数的思考
- c语言指针的之交换两个数的值
- C语言中利用位运算和指针实现的交换两个数的程序
- C语言的函数中,如何使用指针交换两个数的值,深入理解指针
- c语言,通过指针交换两个数的值
- 【c语言】利用指针进行两个数的交换。
- 【c语言】不允许创建临时变量,交换两个数的内容
- 指针06 - 零基础入门学习C语言46
- c语言—指针基础(8:动态分配内存)
- C语言基础:C语言指针(1) - 基本使用
- C语言交换变量之临时变量使用指针
- C语言实现 不允许创建临时变量,交换两个数的内容
- c语言基础(四)之指针
- C语言中交换两个数的方法
- 近来对指针基础、一二维数组的心得和linux下c语言的编程
- c语言:指针比较两个数的大小
- c语言基础(九)结构体指针
- C语言基础(四)(指针)
- c语言不用临时变量交换两个数程序分析