黑马程序员技术交流社区

标题: 指针做函数参数的本质. [打印本页]

作者: 红凉梦    时间: 2016-1-21 12:31
标题: 指针做函数参数的本质.
指针做函数参数的本质.
1>普通参数---是值传递
#include <stdio.h>
int text(int x);
int main()
{
   
    int a = 10;
    int c = text(a);
    printf("c===%d---a=====%d\n",c,a);
    return 0;
}

int text(int x)
{
//    int x = a;
    return x+10+10000;
}


2>指针做参数----仍然是值传递 只是这个值是一个地址

#include <stdio.h>
int text(int *x);
int main()
{
   
    int a = 10;
    printf("~~~~~%p----\n",&a);
    int c = text(&a);
    printf("c===%d---a=====%d\n",c,a);
    return 0;
}

int text(int *x)
{
    //int *x = &a;
    printf("%p----\n",&x);//函数中开辟的指针变量自己的地址
    printf("~~~~~~%p----\n",x);//函数中开辟的指针变量指向的空间的地址(&a)
    *x = *x +10;
    return *x;
}





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