我将使用随机数来选择信号,但无法将数字分配给该信号的名称。
在此代码中,我有三个输入端口,它们的名称分别是: A1B,A2B,A3B,A4B
现在我想通过1到4之间的rand函数随机使用它们。
rand = 4, then input A4B selected.
rand = 2, then input A2B selected.
rand = 3, then input A3B selected.
这不是我使用简单()的数组。
for (i=1; i<5; i++)
A[i]B = 1 + i;
类似这样的东西。
答案 0 :(得分:1)
简单而易读的方法将使用switch
个案例。
如果您不想拥有switch
或if-else
。
具有指向这些变量的指针数组。
示例:
int A1B,A2B,A3B,A4B;
int *ptr[] = {&A1B, &A2B, &A3B, &A4B};
for (i=1; i<5; i++)
*ptr[i-1] = 1 + i;
注意:您需要取消引用
ptr[i]
才能访问值和*ptr[1]
会给您A2B
。
如果可以直接具有端口数组,则不需要具有指针数组。
示例:
int AxB[100];