想让函数改动外面的变量,怎么办

C 里唯一的办法是【0】。

开始练习 →

通过指针改一个值

(本条路线统一用 gcc -std=c11 -O0 编译) #include <stdio.h> int main(void) { int v = 42; int *p = &v; *p = *

开始练习 →

🔴 传值改不动,传地址改得动

(本条路线统一用 gcc -std=c11 -O0 编译)两个函数都想把外面的变量改成 99: #include <stdio.h> void try_set(int x) { /* 传值:改的是副本 *

开始练习 →

让指针指向那个变量

(本条路线统一用 gcc -std=c11 -O0 编译)把 p 指向 v。

开始练习 →

🔴 写一个真能换的 swap

(本条路线统一用 gcc -std=c11 -O0 编译)经典的交换函数。参数收的是地址,所以改得动外面。

开始练习 →

⚠️ 数组传进函数之后,还能用下标吗

(本条路线统一用 gcc -std=c11 -O0 编译)函数收的是 const int *,但下标写法照样能用。把求和补上。

开始练习 →

头文件里该放什么

一个 .h 文件里通常放的是【0】。

开始练习 →

⚠️ include guard 防的是什么

头文件开头那三行 #ifndef / #define / #endif 防的是【0】。

开始练习 →

尖括号和双引号差在哪

尖括号和双引号的区别是【0】。

开始练习 →

🔴 include guard 生效之后

(本条路线统一用 gcc -std=c11 -O0 编译)同一段内容写了两遍,两遍都带同一个 guard: #include <stdio.h> #ifndef ONCE_H #define ONCE_H static int

开始练习 →