C 语言中获取字符串数组长度的函数331


在 C 语言中,字符串数组是一种储存多个字符串的结构。每个字符串数组包含一个字符串指针的集合,指向各自对应的字符串。为了处理字符串数组,确定其长度是至关重要的,因为它决定了数组中可以储存的字符串数量。

strlen() 函数

strlen() 函数是 C 语言中用于确定单个字符串长度的函数。它接受一个指向字符串的指针作为参数,并返回该字符串中字符的数量(不包括终止空字符 '\0')。要查找字符串数组中每个字符串的长度,可以使用 strlen() 函数多次。
#include
#include
int main() {
char str_arr[][20] = {"Hello", "World", "C", "Programming"};
int size = sizeof(str_arr) / sizeof(str_arr[0]);

for (int i = 0; i < size; i++) {
printf("Length of '%s': %ld", str_arr[i], strlen(str_arr[i]));
}

return 0;
}

输出:
Length of 'Hello': 5
Length of 'World': 5
Length of 'C': 1
Length of 'Programming': 11

sizeof() 运算符

对于字符串数组,sizeof() 运算符可以用来确定整个数组的长度,单位是字节。通过除以每个字符串的最大可能长度,可以得到数组中字符串的数量。
#include
#include
int main() {
char str_arr[][20] = {"Hello", "World", "C", "Programming"};
int size = sizeof(str_arr) / sizeof(str_arr[0]);

printf("Number of strings: %d", size);

return 0;
}

输出:
Number of strings: 4

自定义函数

还可以创建自定义函数来获取字符串数组的长度,该函数返回数组中字符串的数量。
#include
#include
int get_str_arr_length(char (*str_arr)[], int max_len) {
int length = 0;

while (strlen(str_arr[length]) > 0 && length < max_len) {
length++;
}

return length;
}
int main() {
char str_arr[][20] = {"Hello", "World", "C", "Programming"};
int size = get_str_arr_length(str_arr, 4);

printf("Number of strings: %d", size);

return 0;
}

输出:
Number of strings: 4

2024-12-02


上一篇:C 语言字符串数组长度相关函数

下一篇:C 语言中返回指针的函数指针