函数里声明的普通变量,函数返回之后还在吗

一个函数里写了 int x = 7;,函数返回之后,那个 x 【0】。

开始练习 →

⚠️ 那为什么还需要另一块地方

这趟走完,谁被收走,谁还留着 跟着走 留下来 既然自动收走这么省事,C 还要提供一块"要自己还"的内存,理由是【0】。

开始练习 →

⚠️ 「自动」和「手动」,各自的代价是什么

这趟走完,谁被收走,谁还留着 跟着走 留下来 两块内存的差别,一句话说是【0】。

开始练习 →

一段代码里,哪个变量是"要自己还"的那种

这趟走完,谁被收走,谁还留着 跟着走 留下来 下面四种写法里,需要你自己动手还回去的是【0】。

开始练习 →

⚠️ 「返回一个局部变量的地址」会怎样

这趟走完,谁被收走,谁还留着 跟着走 留下来 一个函数把自己局部变量的地址 return 了出去,拿到这个地址的人去用它,结果是【0】。

开始练习 →

一趟走完,两边各剩下什么

这趟走完,谁被收走,谁还留着 跟着走 留下来 (本条路线统一用 gcc -std=c11 -O0 编译)一个函数把值带回来,另一个把地址带回来: #include <stdio.h> #include <stdlib.h&

开始练习 →

⚠️ 数组名当指针用,它等于什么

写 int *p = a;(a 是数组),这一句里的 a 相当于【0】。

开始练习 →

🔴 `p + 1` 往前跳了多远

int *p 指着某个位置,p + 1 比 p 往前挪了【0】。

开始练习 →

下标写法其实是什么

对同一个数组,这两种写法【0】。

开始练习 →

⚠️ 传进函数之后还量得出长度吗

把数组传给一个收 const int * 的函数,在函数里对参数用 sizeof,得到的是【0】。

开始练习 →