sách gpt4 ăn đã đi

c - 为什么 C 支持负数组索引?

In lại 作者:太空狗 更新时间:2023-10-29 16:36:46 26 4
mua khóa gpt4 giày nike

từ cái này在 SO 中发布,很明显 C 支持负索引。

  1. 为什么要在程序中支持这种潜在的内存违规?

  2. 编译器不应该至少抛出一个负索引警告吗? (正在使用 GCC)

  3. 或者这个计算是在运行时完成的吗?

EDIT 1: Can anybody hint at its uses?

EDIT 2: for 3.) Using counters of loops in [] of arrays/pointers indicates Run-time Calculation of Indices.

câu trả lời hay nhất

计算在运行时完成。

负索引不一定会导致违规,并且有其用途。

例如,假设您有一个指针当前指向数组中的第 10 个元素。现在,如果您需要在不更改指针的情况下访问第 8 个元素,您可以使用负索引 -2 轻松实现。

char data[] = "01234567890123456789";
char* ptr = &data[9];
char c = ptr[-2]; // 7

关于c - 为什么 C 支持负数组索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18172885/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress