C语言指针变量作为函数参数

0x01

  指针变量作为函数参数的作用是:将一个变量的地址传送到另一个函数中。

 

0x02

  简单的例子:虽然都能实现功能,但意义不同。

  正确的写法:

 

 1 #include <stdio.h>
 2 
 3 void shuchu(int *p)
 4 {
 5     printf("%d\n", *p);
 6 }
 7 
 8 int main()
 9 {
10     int a;
11     int *pa;
12     scanf("%d", &a);
13     pa = &a;
14     shuchu(pa); //pa是地址
15 }

 

  骗人的写法:

  

 1 #include <stdio.h>
 2 
 3 void shuchu(int *p)
 4 {
 5     printf("%d\n", *p);
 6 }
 7 
 8 int main()
 9 {
10     int a;
11     int *pa;
12     scanf("%d", &a);
13     pa = &a;
14     //shuchu(*pa);
15 }

  注意第14行,是骗人的写法,虽然用到了指针,但是和没用一样,因为只是赋值,然后还是用的原来的值;

  总的来说,还是强调指针作为函数参数的作用是将变量的地址传递到参数中,而不是传递的是原来的值。

posted @ 2016-08-07 23:23  0dmin'blog  阅读(1370)  评论(0编辑  收藏  举报
TOP