집 >백엔드 개발 >C#.Net 튜토리얼 >C언어에서 배열의 길이를 구하는 방법
C 언어에서는 배열을 정의한 후 sizeof 명령을 사용하여 배열의 길이[수용할 수 있는 요소 수]를 얻을 수 있습니다. 배열 이름을 전달하여 배열의 길이를 얻는 것은 불가능합니다. 하위 기능에 대한 매개변수입니다.
C 언어에서는 배열을 정의한 후 sizeof 명령을 사용하여 배열의 길이(수용할 수 있는 요소 수)를 얻을 수 있습니다.
예:
{ int data[4]; int length; length=sizeof(data)/sizeof(data[0]); //数组占内存总空间,除以单个元素占内存空间大小 printf("length of data[4]=%d", length ); //输出length of data[4]=4 }
배열 이름을 전달하여 하위 함수에 대한 매개변수를 사용하면 배열의 길이를 얻을 수 없습니다. 예:
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。
따라서 배열 길이를 얻으려면 배열이 정의된 코드 영역에서 위의 방법을 사용해야만 효과를 얻을 수 있습니다.
추천 튜토리얼: "c 언어 튜토리얼"
위 내용은 C언어에서 배열의 길이를 구하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!