题目一
指针的运用
#include "stdio.h" int k=5; void f(int* s) { s=&k; } int main(){ int m=3,* p=&m; f(p); printf("%d,%d\n",m,*p); 关注公众号:你不知道的东东,帮忙写作业 }
关键:数据只能从实参传到形参,指针作为函数参数时,形参仍然作为实参的副本被赋值,形参指针变量的指向改变不能影响实参指针变量的指向,结果不变。
#include "stdio.h" int k=5; void f(int* s) { *s=4; // s=&k; } int main(){ int m=3,* p=&m; f(p); printf("%d,%d\n",m,*p); }
关键:可以通过直接改变形参地址对应的值来实现改变