In der C-Sprache können Sie nach der Definition eines Arrays den Befehl sizeof verwenden, um die Länge des Arrays zu ermitteln [die Anzahl der Elemente, die es aufnehmen kann]. Es ist nicht möglich, die Länge des Arrays zu ermitteln Übergabe des Array-Namensparameters an die Unterfunktion.
In der C-Sprache können Sie nach der Definition eines Arrays den Befehl sizeof verwenden, um die Länge des Arrays (die Anzahl der Elemente, die es aufnehmen kann) zu ermitteln.
Zum Beispiel:
{ int data[4]; int length; length=sizeof(data)/sizeof(data[0]); //数组占内存总空间,除以单个元素占内存空间大小 printf("length of data[4]=%d", length ); //输出length of data[4]=4 }
Es ist nicht möglich, die Array-Länge durch Übergabe des Array-Namensparameters an die Unterfunktion zu ermitteln. Zum Beispiel:
int getLength(int[] a){ int length; length=sizeof(a)/sizeof(a[0]); //这样是错误的,得到的结果永远是1 return length; } 因为,a是函数参数,到了本函数中,a只是一个指针(地址,系统在本函数运行时,是不知道a所表示的地址有多大的数据存储空间, 这里只是告诉函数:一个数据存储空间首地址),所以,sizoef(a)的结果是指针变量a占内存的大小,一般在32位机上是4个字节。 a[0]是int类型,sizeof(a[0])也是4个字节,所以,结果永远是1。
Um die Array-Länge zu erhalten, können Sie den Effekt daher nur erzielen, indem Sie die obige Methode in dem Codebereich verwenden, in dem das Array definiert ist.
Empfohlenes Tutorial: „C-Sprach-Tutorial“
Das obige ist der detaillierte Inhalt vonSo ermitteln Sie die Länge eines Arrays in der Sprache C. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!