把离散变量组织起来,访问起来更加方便,无需一个个变量单独赋值。
如modbus读写reg,
把a\b\c\d实时变化分散的变量组织成一个数组reg,方便获取
相当于变量的内存地址池
int main() {
int a = 10, b = 20, c = 30, d = 40;
int i;
int *reg[] = {&a, &b, &c, &d}; // 指针数组,存储变量的地址
// 通过指针数组访问变量的值
for ( i = 0; i < 4; i++) {
printf("Value of reg[%d] = %d\n", i, *reg[i]);
}
// 更新变量的值
*reg[0] = 100;
*reg[1] = 200;
*reg[2] = 300;
*reg[3] = 400;
// 再次通过指针数组访问变量的值
for ( i = 0; i < 4; i++) {
printf("Updated value of reg[%d] = %d\n", i, *reg[i]);
}
return 0;
}
reg是一个指针数组,每个元素都是一个指向 int 的指针。
通过 reg[i] 可以访问到变量 a, b, c, d 的地址。
使用解引用操作 *array[i] 可以访问到这些变量的值。
这种方法是C语言中实现类似 map 功能的一种常见方式。通过指针数组,可以方便地访问和操作这些变量的值。