当前位置:首页 > 行业动态 > 正文

c语言怎么得到数组长度

在C语言中,获取数组长度的方法取决于数组是否为静态数组或动态数组。

1、静态数组:如果你有一个静态数组,你可以直接通过除以数组类型的大小来得到数组的长度,如果你有一个整数数组,你可以通过将总字节数除以一个整数的字节数来得到数组的长度。

2、动态数组:如果你有一个动态数组,你需要自己跟踪数组的长度,这是因为动态数组在内存中的表示只是一个指向内存块的指针,它不包含任何关于数组长度的信息。

下面是一个示例代码,展示了如何在C语言中获取数组长度:

#include <stdio.h>
// 静态数组
int staticArray[] = {1, 2, 3, 4, 5};
// 动态数组
int* dynamicArray = malloc(5 * sizeof(int));
dynamicArray[0] = 1;
dynamicArray[1] = 2;
dynamicArray[2] = 3;
dynamicArray[3] = 4;
dynamicArray[4] = 5;
// 获取静态数组长度
int staticLength = sizeof(staticArray) / sizeof(staticArray[0]);
printf("Static array length: %d
", staticLength);
// 获取动态数组长度
int dynamicLength = 5; // 需要手动设置
printf("Dynamic array length: %d
", dynamicLength);
// 记得释放动态数组内存
free(dynamicArray);

在这个例子中,我们首先定义了一个静态数组和一个动态数组,我们使用sizeof运算符来获取静态数组的长度,对于动态数组,我们需要手动设置其长度,我们打印出两个数组的长度。

0