【问题标题】:Loop variables on arduinoarduino上的循环变量
【发布时间】:2015-02-05 11:08:00
【问题描述】:

我想在我的 arduino 上做一个带有一些变量的循环,我有 24 个变量( ConfigSonde[0][3] 到 ConfigSonde[24][3] )要改变,我需要做一个循环:

前:

ConfigSonde_0[] = {'xxx', 3, 'A', 1, 0, 0, 0, 0, 0, 0}; 

ConfigSonde_1[] = {'xxx', 1, 'A', 1, 0, 0, 0, 0, 0, 0};

for (i = 0; i < 25; i = i + 1) { ConfigSonde_[i][3]=0;}

有可能吗?

谢谢

【问题讨论】:

    标签: c loops variables arduino


    【解决方案1】:
    1. 您正在混合ints 和'xxx'? (如果它应该是一个字符串,它必须是 "xxx"),这在 C 中是不合法的。
    2. ConfigSonde_[i][3] 其中i = 0 没有为您提供对变量ConfigSonde_0[3] 的引用

    也许你正在寻找:

    int ConfigSonde_0[] = {'x', 3, 'A', 1, 0, 0, 0, 0, 0, 0}; 
    int ConfigSonde_1[] = {'x', 1, 'A', 1, 0, 0, 0, 0, 0, 0};
    int *ConfigSonde [] = {ConfigSonde_0, ConfigSonde_1};
    
    for (i = 0; i < 2; i = i + 1) {ConfigSonde[i][3] = 0;}
    

    int ConfigSonde[][10] = {
        {'x', 3, 'A', 1, 0, 0, 0, 0, 0, 0},
        {'x', 1, 'A', 1, 0, 0, 0, 0, 0, 0}
    };
    
    for (i = 0; i < 2; i = i + 1) {ConfigSonde[i][3] = 0;}
    

    【讨论】:

      【解决方案2】:

      重写: 做你需要的,你将不得不添加额外的变量来指向你想要在循环中改变的东西,或者将你的 25 个不同的数组更改为单个二维数组。

      您不能动态“计算”变量的名称来访问它们在 C(或 C++)中的值,因为这些语言在编译时变量的名称在程序运行时不再相关。

      【讨论】:

      • 谢谢,但是我有 24 个变量( ConfigSonde[0][3] toConfigSonde[24][3] )要改变,我需要做一个循环
      • @sebastien 那么也许您应该让您的问题反映您的实际问题? :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-05
      • 2022-01-21
      • 1970-01-01
      相关资源
      最近更新 更多