指针如何传入函数参数?有示例程序吗?
编程 65
-
首先,在调用
foo()
之前,应该让编译器查看它的声明。#include <stdio.h> void foo(int *p); // <<<<<<<<<< Declare your function first! int main() { int i = 97, *p = &i; foo(&i); printf("%d ", *p); } void foo(int *p) { int j = 2; p = &j; printf("%d ", *p); }
当您到达this stage时,请使用它。
在foo()
内部,您只是将本地堆栈上的p
更改为指向j
,而不影响p
或i
的main
,因为p
已按值传递(复制)。
如果要从函数内部更改i
的值,则需要通过以下方式进行更改:void foo(int *p) { *p = 2; printf("%d ", *p); }
2025-04-13 15:07:06