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

     

     C语言的传值与传址调用

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

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

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

    请看代码:

    这里还要注意:通常我们不会返回局部变量的地址.

    复制代码
     1 #include <stdio.h>
     2 
     3 void swap_value(int x,int y)
     4 {
     5     int temp;
     6     temp = x;
     7     x = y;
     8     y = temp;   
     9     printf("传值函数内的输出 %d %d 
    ",x,y);
    10 }
    11 
    12 void swap_address(int *x,int *y)
    13 {
    14     int temp;
    15     temp = *x;
    16     *x = *y;
    17     *y=temp;   
    18     printf("传址函数内的输出 %d %d 
    ",*x,*y);
    19 }
    20 
    21 int main(int argc, char *argv[])
    22 {
    23     int x = 10;
    24     int y = 0;
    25     
    26     printf("x y 
    ");
    27     printf("初值 %d %d 
    ",x,y);
    28     //传值子程序调用(交换xy) 
    29     swap_value(x,y);
    30     printf("传值函数外调用 %d %d 
    ",x,y);
    31 
    32     //传地址字程序调用(交换x,y) 
    33     swap_address(&x,&y);
    34     printf("传址函数外调用 %d %d 
    ",x,y);
    35     return 0;
    36 }
    复制代码
  • 相关阅读:
    webpack学习(一)—— 入门
    AMD 规范
    CommonJS 规范
    webpack 故障处理
    webpack 开发环境
    webpack 插件
    webpack 配置文件
    webpack 使用
    webpack Loader
    webpack常用的插件安装命令
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/5877896.html
Copyright © 2011-2022 走看看