假设我有一个unsigned int* val
和unsigned char mat[24][8]
。现在,val
存储变量mat
的位置。是否可以使用val
中的位置修改mat变量中的位?
例如:val = 0x00000001
,val
在内存中的位置是0x20004000
mat
的第一个元素位于0x00000001
。
现在我想将mat
的值修改为10,4。是否可以使用C ++做到这一点?
最佳答案
是的,有可能,除非数组成员或指针目标中的任何一个是const
。
例如:
int array[3][2] = { { 0, 1 }, { 2, 3 }, { 4, 5 } };
int *p = &array[1][1];
*p = 42;
// array is now: { { 0, 1 }, { 2, 42 }, { 4, 5 } };
关于c++ - 使用C++中的位置修改数组值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16440363/