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行,是骗人的写法,虽然用到了指针,但是和没用一样,因为只是赋值,然后还是用的原来的值;
总的来说,还是强调指针作为函数参数的作用是将变量的地址传递到参数中,而不是传递的是原来的值。
时间: 2024-10-11 10:45:20