<分区>
#include <stdio.h>
int main()
{
const int marbles[10] = { 1,2,3,4,5,6,7,8,9,10 };
int *ptr = marbles;
*ptr = 100;
printf("%d \n", marbles[0]); // output is "100"
}
我使用 const
来保护数组。所以我认为 int *ptr = marbles
会导致错误。否则通过使用指针,它将使用户能够更改数组中的数据。但令人惊讶的是输出是“100”。当我使用 const
时,C 是否应该保护数组不受任何类型的方法影响?