⚠️ C 数组和 Python 列表差在哪
最要紧的一处差别是【0】。
🔴 下标越界会怎样
数组只有 5 个元素,你去读第 10 个。结果是【0】。
怎么知道一个数组有几个元素
手里是一个数组本尊(不是指针),求元素个数的写法是【0】。
数一数、加一加、取一个
(本条路线统一用 gcc -std=c11 -O0 编译) #include <stdio.h> int main(void) { int a[5] = {10, 20, 30, 40, 50}; int n
⚠️ 把数组交给函数之后
(本条路线统一用 gcc -std=c11 -O0 编译)这次把数组传进了两个函数,长度是单独传进去的: #include <stdio.h> #define N 5 int sum_of(const int *a, int
求出长度再遍历
(本条路线统一用 gcc -std=c11 -O0 编译)把元素个数算出来,让循环走完整个数组。
⚠️ 把越界的那一轮去掉
(本条路线统一用 gcc -std=c11 -O0 编译)这段用一个 if 硬挡住了越界,但循环本身还是多转了一轮。把边界改对,并把循环**实际转的轮数**打出来。
原地把数组颠倒过来
(本条路线统一用 gcc -std=c11 -O0 编译)两头往中间换。输出颠倒之后的第 0、2、4 个。
一个指针变量里装的是什么
int *p = &v; 之后,p 里装着【0】。
⚠️ `*p` 在两个地方意思一样吗
int *p; 里的 * 和 *p = 9; 里的 *【0】。