initialisieren von: unsigned char USART0_RxBuf_global[USART_RX_BUFFER_SIZE];;



  • Hallo zusammen,

    ich möchte gerne folgendes Array initialisieren:

    ...
    #define USART_RX_BUFFER_SIZE 64  
    ...
    unsigned char USART0_RxBuf_global[USART_RX_BUFFER_SIZE];
    ...
    

    Folgender Befehl

    for (int i = 0; i <= USART_RX_BUFFER_SIZE; i++)
    	{
    		USART0_RxBuf_global[i]="0";
    	}
    

    führt zu folgender Fehlermeldung:

    iteration 64u invokes undefined behavior
    

    Hat jemand eine Idee, wie ich das Array initialisieren kann.

    Vielen Dank.

    Grüße

    datatom



  • Mit ...

    = '0';
    

    anstelle von ...

    = "0";
    


  • Leider kommt der gleiche Fehler



  • Die Schleife wird zu oft durchlaufen.

    Schau dir nochmal (oder erstmals) die Grundlagen für die for-Schleife an.

    Du kannst auch die Standardfunktion memset benutzen.



  • datatom schrieb:

    Hat jemand eine Idee, wie ich das Array initialisieren kann.

    Ein Array ist - wenn es global definiert ist - immer 0 initialisiert.



  • Wutz schrieb:

    datatom schrieb:

    Hat jemand eine Idee, wie ich das Array initialisieren kann.

    Ein Array ist - wenn es global definiert ist - immer 0 initialisiert.

    0 ist aber nicht '0'
    🙂


Log in to reply