我知道我可以在C中定义数组类型,如下所示:
typedef int array_t[123];
Run Code Online (Sandbox Code Playgroud)
然而,这并没有作出声明
void someFunction(array_t myArray)
Run Code Online (Sandbox Code Playgroud)
在这个意义上是恒定的
myArray=0;
Run Code Online (Sandbox Code Playgroud)
在函数内被禁止,但是
myArray[0]=0;
Run Code Online (Sandbox Code Playgroud)
被允许.
有没有办法实现这个目标?如果我在类型定义或参数声明中添加"const",我最终会得到反向行为,其中数组元素是常量,但数组指针本身是可变的.