zoukankan      html  css  js  c++  java
  • C语言的传值与传址调用

    传值调用并不能改变两个变量的值,而传址能。

    为什么,因为,传值调用,仅仅是在函数内,调换参数的值。

    而地址所指向的值,改变的不仅仅是函数内,函数外也改变。

    请看代码:

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 
     4 void swap1(int x,int y)
     5 {
     6   int temp;
     7   
     8   temp=x;
     9   x=y;
    10   y=temp;   
    11   printf("传值函数内的输出 %d %d \n",x,y);
    12 }
    13 
    14 void swap2(int *x,int *y)
    15 {
    16   int temp;
    17   temp = *x;
    18   *= *y;
    19   *y=temp;   
    20   printf("传址函数内的输出 %d %d \n",*x,*y);
    21 }
    22 
    23 int main(int argc, char *argv[])
    24 {
    25   int x = 10;
    26   int y = 0;
    27   
    28   printf("x y \n");
    29   printf("初值 %d %d \n",x,y);
    30   //传值子程序调用(交换xy) 
    31   swap1(x,y);
    32   printf("传值函数外调用 %d %d \n",x,y);
    33   
    34   //传地址字程序调用(交换x,y) 
    35   swap2(&x,&y);
    36   printf("传址函数外调用 %d %d \n",x,y);
    37   system("PAUSE");    
    38   return 0;
    39 }
    40 

    合乎自然而生生不息。。。
  • 相关阅读:
    bash实现多进程运行
    Erlang实现进程池
    Apache 和nginx支持跨域访问
    thinkphp 发送邮件
    判断PC和移动端 判断移动端系统
    check 选择框checked属性读取不到
    php使用PDO,并连接SQL
    SQL2005:由于目标机器积极拒绝,无法连接
    frozenui 移动端ui
    纯jquery 滚动评论
  • 原文地址:https://www.cnblogs.com/samwu/p/1788094.html
Copyright © 2011-2022 走看看