(sizeof((x)) / sizeof(*(x))) ??



  • hallo:)

    kann mir jemand sagen,was diese Zeile genau macht?

    #define DIM(x) (sizeof((x)) / sizeof(*(x)))
    

    ich versteh nicht genau warum hier das geteilt wird,und was es genau aussagt.
    Es geht naemlich um Zugriffsrechte von Benutzern (also r,w,x...). Dieses DIM wird spaeter in einer for schleife gebraucht..

    for (i = 0; i < DIM(rights); i++){	
          		if (rights[i].bit & st.st_mode){
    	 		putchar(rights[i].modus);
    		}
          		else{
    	 		putchar('-');
    		}
    

    danke im Voraus. 🙂



  • es soll die anzahl der elemente in einem statisch angelegten array ermitteln

    sizeof(x) gibt dir die grösse in bytes zurück... um auf die anzahl der elemente im array zu kommen musst du wissen wieviel bytes ein datentyp deines arrays einnimmt und durch dies dann teilen


Anmelden zum Antworten