ymhemcu 发表于 2018-12-10 15:24:07

请教前辈们这个&变量 在程序中出现的意义

本帖最后由 ymhemcu 于 2018-12-11 20:25 编辑

虽然很早就注册了这个坛子,但是一直也没有正式上来过几次,现在开始正式接触C和ARDUINO,小白一枚,望大家不要见笑,好多不懂得东西还望前辈们可以指教一二,先谢过了:P :P


下面这部分代码是截取自一个电子钟的部分程序,其中出现了&变量这个语句,这个是指针变量的意思吗?我不明白为什么用普通的变量就不可以呢?。

代码如下:


//开头省略部分:

//定义time Function
void time(){   
    second = (SECOND + seconds) % 60;   //计算秒
    m = (SECOND + seconds) / 60;      //分钟进位
    FormatDisplay(6,1,second);

    minute = (MINUTE + m) % 60;//计算分钟
    h = (MINUTE + m) / 60;       //小时进位
    FormatDisplay(3,1,minute);      

    hour = (HOUR + h) % 24;   //计算小时
    d = (HOUR + h) / 24;      //天数进位
    FormatDisplay(0,1,hour);

    lcd.setCursor(2, 1);   lcd.print(":");   
    lcd.setCursor(5, 1);   lcd.print(":");
}


//定义Set_Time Function
void Set_Time(int rol, int row, int &Time){   //&Time出现了
   DisplayCursor(rol, row);
   if(digitalRead(add) == LOW){
      delay(ButtonDelay);
      if(digitalRead(add) == LOW){
          Time ++;                           // 有了&Time此处通过Time++就可以调节数值加减了???
      }         
      Display();      
   }
   if(digitalRead(minus) == LOW){
      delay(ButtonDelay);
      if(digitalRead(minus) == LOW){
          Time --;
      }         
       Display();


//开始正常调用Set_Time Function
seconds = millis()/1000;
            Display();
            if(chose == 1){
                Set_Time(1, 1, HOUR);      //SetHour
            }else if(chose == 2){
                Set_Time(4, 1, MINUTE);    //SetMinute
            }else if(chose == 3){
                Set_Time(7, 1, SECOND);    //SetSecond
            }else if(chose == 4){
                Set_Time(9, 0, DAY);       //SetDay
            }else if(chose == 5){
                Set_Time(6, 0, MONTH);    // SetMonth
            }else if(chose == 6){         
                Set_Time(3, 0, YEAR);      //SetYear


//后面省略部分


最后请教一下我要怎样才可以像大家那样把代码用专用的代码文件格式发出来??

谢谢
页: [1]
查看完整版本: 请教前辈们这个&变量 在程序中出现的意义