如何检测数组的结尾?

我写了一个类,其中有一个指向数组第一个元素的指针,我不知道它的大小,但是我需要知道何时有最后一个元素。

目前,我为该方法提供了一个额外的变量,其中包含它的大小。我想将其删除。

我的方法

#define NOP //__asm__("nop\n\t")

//Setup the objekt
SR::SR(int DS, int SHCP, int STCP){
  pinMode(DS, OUTPUT);
  pinMode(SHCP, OUTPUT);
  pinMode(STCP, OUTPUT);
  this->_DS = DS;
  this->_SHCP = SHCP;
  this->_STCP = STCP;
}

//!!!!!!!!!!at "*muster" you have to send an pointer on the first element of an Array!!!!!!!!!!!

//to shift a Muster in the register

void SR::musterIn(bool *muster, int length){
  for(int i=0; i<length; i++){
    //set datapin
    digitalWrite(_DS, *(muster+i));

    //shift in register memory
    digitalWrite(_SHCP, HIGH);
    NOP;
    digitalWrite(_SHCP, LOW);
  }

  //set to output
  digitalWrite(_STCP, HIGH);
  NOP;
  digitalWrite(_STCP, LOW);
}

谢谢, 浮点数