So ermitteln Sie die Länge eines Arrays in der Sprache C

hzc
Freigeben: 2020-07-03 13:32:27
Original
5926 Leute haben es durchsucht

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.

So ermitteln Sie die Länge eines Arrays in der Sprache C

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
}
Nach dem Login kopieren

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。
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage