黑马程序员技术交流社区

标题: 函数的值传递 [打印本页]

作者: 夜神月No1    时间: 2015-11-21 22:41
标题: 函数的值传递

//函数声明
void fun(int x);

//函数实现  x是形参
void fun(int x)
{
    //打印一下 形参的值
    printf("x的值 = %d\n",x);
    printf("x的地址 = %p\n",&x);
   
    //x的值如果发生变化了 不会影响(实参)a的值
    x = 50;
}


int main(int argc, const char * argv[])
{

    //函数调用
    int a = 100;
    //先打印变量a在内存中地址是多少
    printf("a在内存中的地址 = %p\n",&a);
    printf("a的值 = %d\n",a);
   
   
    //函数调用 传值 a 值传递  a是一个基本数据类型
    fun(a);
    /*
        传递的是a这个实参的一个副本,也就是说保存的值和变量
     a的值是相同,但是内存地址是不一样的。在函数中如果形参改变了不会影响到实参。
     */
    printf("a的值 = %d\n",a);
    return 0;
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2