>  기사  >  백엔드 개발  >  C 배열의 길이를 얻는 방법

C 배열의 길이를 얻는 방법

小老鼠
小老鼠원래의
2024-05-08 17:54:201216검색

C 언어에서는 배열의 길이를 직접 얻을 수 없지만 간접적으로 얻을 수 있는 방법은 다음과 같습니다. sizeof 연산자를 사용하여 단일 요소의 크기를 나누거나 #define 전처리기 매크로를 사용하여 배열을 정의합니다. 길이; 배열 길이를 계산하기 위해 포인터 연산을 사용합니다. (array_size()와 같은) 동적 배열 라이브러리 함수를 사용합니다.

C 배열의 길이를 얻는 방법

C 배열의 길이를 구하는 방법

C 언어에서 배열은 동일한 유형의 요소가 저장되는 연속적인 메모리 블록입니다. 배열의 크기는 컴파일 타임에 결정되므로 배열 자체에서 직접 길이를 얻을 수 없습니다. 그러나 배열의 길이를 간접적으로 얻는 다음과 같은 방법이 있습니다.

1. sizeof 연산자를 사용합니다.

sizeof 연산자는 배열 유형에 필요한 메모리 크기를 바이트 단위로 반환합니다. . 배열의 요소 수를 얻으려면 배열 유형에 sizeof 연산자를 적용하고 개별 요소의 크기를 나눌 수 있습니다. sizeof 运算符返回数组类型所需内存的大小,单位为字节。要获得数组的元素数量,可以将 sizeof 运算符应用于数组类型除以单个元素的大小:

<code class="c">int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int length = sizeof(arr) / sizeof(arr[0]);
    printf("数组长度:%d\n", length);
    return 0;
}</code>

2. 使用 预处理器宏

预处理器宏允许您定义一个符号,该符号可以在编译时替换为一个值。您可以使用 #define 预处理器指令来定义一个宏,其中包含数组的长度:

<code class="c">#define ARRAY_LENGTH 5

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    printf("数组长度:%d\n", ARRAY_LENGTH);
    return 0;
}</code>

3. 使用 指针运算

数组名本质上是一个指向数组第一个元素的指针。因此,您可以使用指针运算来计算数组的长度。具体来说,您可以将数组指针指向最后元素,然后减去指向第一个元素的指针,再除以元素的大小:

<code class="c">int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int *end = &arr[sizeof(arr) / sizeof(arr[0]) - 1];
    int length = end - arr + 1;
    printf("数组长度:%d\n", length);
    return 0;
}</code>

4. 使用 动态数组库函数

一些 C 语言库提供了动态数组库函数,允许您创建和管理动态数组。这些函数通常包含一个获取数组长度的函数,例如 array_size()

<code class="c">#include <array.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int length = array_size(arr);
    printf("数组长度:%d\n", length);
    return 0;
}</code>
🎜2 전처리기 매크로 사용 🎜🎜🎜전처리기 매크로. 컴파일 타임에 값으로 대체될 수 있는 기호를 정의합니다. #define 전처리기 지시어를 사용하여 배열의 길이를 포함하는 매크로를 정의할 수 있습니다: 🎜rrreee🎜🎜3. 포인터 산술 사용 🎜🎜🎜배열 이름은 기본적으로 첫 번째 요소에 대한 포인터입니다. 요소에 대한 배열 포인터입니다. 따라서 포인터 연산을 사용하여 배열의 길이를 계산할 수 있습니다. 특히 배열 포인터가 마지막 요소를 가리킨 다음 첫 번째 요소에 대한 포인터를 빼고 요소의 크기로 나눌 수 있습니다. 🎜rrreee🎜🎜4 동적 배열 라이브러리 함수를 사용하세요. 🎜🎜🎜일부 C 라이브러리가 제공합니다. 동적 배열 라이브러리 기능을 사용하면 동적 배열을 생성하고 관리할 수 있습니다. 이러한 함수에는 일반적으로 array_size() 함수와 같이 배열의 길이를 가져오는 함수가 포함됩니다. 🎜rrreee

위 내용은 C 배열의 길이를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.