1 C语言求数组长度的5种方法-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言求数组长度的5种方法

撞上电子 2023-11-19 08:00 次阅读

1,使用 sizeof 运算符

#include
int main() { int array[] = {1, 2, 3, 4, 5}; unsignedchar length=sizeof(array)/sizeof(array[0]);
printf("Array length: %d\n", length);
return 0;}

解析:sizeof(array) 返回整个数组的字节大小,sizeof(array[0]) 返回数组中一个元素的字节大小。通过相除可以得到数组的元素个数。

2,使用宏定义

#include
#define ARRAY_LENGTH(arr) (sizeof(arr) / sizeof(arr[0]))
int main() { int array[] = {1, 2, 3, 4, 5}; unsigned char length = ARRAY_LENGTH(array);
printf("Array length: %d\n", length);
return 0;}

解析:这里使用了宏定义,将获取数组长度的操作封装在 ARRAY_LENGTH 中,使得代码更具可读性。

3,传递数组和数组长度给函数

#include
unsigned char getArrayLength(int *arr, size_t size) { return size;}
int main() { int array[] = {1, 2, 3, 4, 5}; unsigned char length = getArrayLength(array, sizeof(array) / sizeof(array[0]));
printf("Arraylength:%d\n",length); return 0;}

解析:函数 getArrayLength 接受一个指向整数的指针和数组的大小,然后直接返回数组的大小。


4,使用 strlen(适用于字符串数组)

#inlude#include
int main() { char strArray[] = "Hello, World!"; unsigned char length = strlen(strArray);
printf("StringArraylength:%d\n",length);
return 0;}

解析:strlen 函数用于计算字符串的长度,适用于以 null 结尾的字符串数组。


5,使用指针

#include
int main() { int array[] = {1, 2, 3, 4, 5}; int *ptr = array; unsigned char length = sizeof(array) / sizeof(*ptr);
printf("Array length: %d\n", length);
return 0;}

解析:将数组的首地址赋给指针,然后通过指针进行操作。这里同样使用了 sizeof 方法。==========

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136675
  • 数组
    +关注

    关注

    1

    文章

    417

    浏览量

    25939
  • 运算符
    +关注

    关注

    0

    文章

    172

    浏览量

    11078
收藏 人收藏

    评论

    相关推荐

    C语言数组应用计算机导论A第6讲:数组

    C语言数组应用计算机导论A第6讲:数组
    发表于 11-20 15:33 0次下载

    解读版|Air780E软件中C语言内存数组的神秘面纱!

    今天我们来揭开Air780E 软件中 C 语言内存数组的神秘面纱,希望有所收获。
    的头像 发表于 11-17 10:00 226次阅读
    解读版|Air780E软件中<b class='flag-5'>C</b><b class='flag-5'>语言</b>内存<b class='flag-5'>数组</b>的神秘面纱!

    C语言指针运算符详解

    C语言中,当你有一个指向数组中某个元素的指针时,你可以对该指针执行某些算术运算,例如加法或减法。这些运算可以用来遍历数组中的元素,如ptr[i]等价于*(ptr + i)。然而,如果
    的头像 发表于 10-30 11:16 234次阅读

    C语言指针详细解析

    称之为字符数组。 在 C语言中,因为字符数组的元素内存储的都是 char 型的字符,所以字符数组的数据类型是 char 型,因而字符串实际上
    发表于 09-14 10:03

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之数组

    一个字符串,使用${Arr[@]},将所有成员分别打包为一个字符串。我们仍然在myshell.sh中进行演示,在该文件中定义数组Arr,分别使用三方式进行打印:执行并打印:3、获取数组长度数组长度获取使用或者${#Arr[@]
    发表于 09-03 14:23

    飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之数组

    件中定义数组Arr,分别使用三方式进行打印:执行并打印:3、获取数组长度数组长度获取使用或者${#Arr[@]},在脚本中加入:执行脚本,可以看到数组大小为3:
    发表于 08-30 09:25

    pwm脉宽调制的四种方法有哪些

    于电机控制、LED调光、音频处理等领域。以下是四常见的PWM脉宽调制方法: 固定频率PWM(Fixed-Frequency PWM) 固定频率PWM是一最基本的PWM调制方法。在这
    的头像 发表于 08-08 15:10 1199次阅读

    在一个.c文件中定义一个数组遇到的疑问求解

    在一个.c文件中定义一个数组,然后在其他文件中引用,用sizeof求数组长度,那么按说是必须要声明这个数组,并且应该指明数组的大小,但是是不
    发表于 05-14 07:03

    嵌入式中零长度数组基本操作方法

    C语言长度数组,听起来可能有点奇怪,因为它没有分配内存空间,无法存储数据。但实际上,零长度数组在Linux内核中随处可见。 零长度数组的定
    的头像 发表于 05-11 08:49 918次阅读
    嵌入式中零<b class='flag-5'>长度数组</b>基本操作<b class='flag-5'>方法</b>

    嵌入式系统中C语言结构体的基础实现与应用

    C语言中的数组只能允许程序员定义存储相同类型数据。但是结构是C语言编程中允许您存储不同数据类型的数据。
    发表于 03-12 14:29 494次阅读
    嵌入式系统中<b class='flag-5'>C</b><b class='flag-5'>语言</b>结构体的基础实现与应用

    c语言,c++,java,python区别

    C语言C++、Java和Python是四常见的编程语言,各有优点和特点。 C
    的头像 发表于 02-05 14:11 2357次阅读

    传统激光功率衰减的三种方法

    传统激光功率衰减通常使用以下三种方法,分别为中性密度衰减片衰减法、偏振衰减法、镀膜光学镜片衰减法。
    的头像 发表于 01-20 10:42 1734次阅读
    传统激光功率衰减的三<b class='flag-5'>种方法</b>

    PHP中数组的使用方法

    PHP中数组的使用方法! PHP是一广泛使用的网络编程语言,它的数组功能非常强大且灵活。数组
    的头像 发表于 01-12 15:11 538次阅读

    labview与sql数据库连接5种方法

    连接LabVIEW和SQL数据库是一常见的需求,可以通过多种方法实现。本文将介绍五连接LabVIEW和SQL数据库的方法方法一:使用
    的头像 发表于 01-07 16:01 4820次阅读

    编写PLC程序的7种方法

    种方法是最原始最初级的写法,也是最简单的一写法,比如第一步置位M0,M0接通后控制某个结果,结果实现后复位M0,再置位M1,依次进行l流程控制。这种写法通用所有的PLC。
    发表于 01-02 11:08 1.2w次阅读
    编写PLC程序的7<b class='flag-5'>种方法</b>