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 方法。==========

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

    关注

    183

    文章

    7642

    浏览量

    144617
  • 数组
    +关注

    关注

    1

    文章

    420

    浏览量

    27114
  • 运算符
    +关注

    关注

    0

    文章

    173

    浏览量

    11943
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言的编程技巧

    一个成员是一个未知大小的数组,适用于动态分配内存并关联一个可变长度数组。‌ ‌3、匿名结构体和联合体‌:C语言允许在结构体或联合体中定义不
    发表于 11-27 06:46

    数组的初体验

    袋中的物品是按一定顺序放置的。 1.我们来看一下如何声明一个数组: 数据类型 数组名称[长度]; 数组只声明也不行啊,看一下数组是如何初
    发表于 11-25 08:06

    第4章 C语言基础以及流水灯的实现(4.7 4.8)

    1.1 Keil软件延时 C语言常用的延时方法,有如图4-2所示4。 图4-2  C语言延时
    的头像 发表于 11-19 17:20 488次阅读
    第4章 <b class='flag-5'>C</b><b class='flag-5'>语言</b>基础以及流水灯的实现(4.7 4.8)

    有多少种方法可以进行频响曲线测量?

    。下面列出APx500软件包含的至少10种方法都可以进行频响曲线的测量:FrequencyResponseContinuousSweepAcousticRespo
    的头像 发表于 11-14 11:29 301次阅读
    有多少<b class='flag-5'>种方法</b>可以进行频响曲线测量?

    C语言和单片机C语言有什么差异

    的目标代码短、运行速度高、存储空间小、符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言PL/M51语言目标代码混合使用。 4、
    发表于 11-14 07:55

    C语言精彩编程百例-364页

    内容提要 C是一通用的程序设计语言,它包含了紧凑的表达式、丰富的运算符集合、现代控制流以及数据结构等四个部分。C语言功能丰富,衣达能力强,
    发表于 06-13 17:28

    单片机9常用软件架构-C语言

    单片机9常用软件架构-C语言
    发表于 06-10 20:35

    《ESP32S3 Arduino开发指南》第三章 C/C++语言基础

    ++基础,由于篇幅有限,在此仅对C/C++语言基础进行简单介绍。本章将分为如下9个小节:3.1 数据类型3.2 运算符3.3 表达式3.4 数组3.5 字符串3.6 注释3.7 顺序结
    发表于 06-10 09:20

    精选好文!噪声系数测量的三种方法

    本文介绍了测量噪声系数的三种方法:增益法、Y系数法和噪声系数测试仪法。这三种方法的比较以表格的形式给出。 在无线通信系统中,噪声系数(NF)或者相对应的噪声因数(F)定义了噪声性能和对接
    发表于 05-07 10:18

    深入理解C语言C语言循环控制

    改变程序的执行流程,使代码更加灵活和可控。本文将详细介绍这些语句的作用及其应用场景,并通过示例代码进行说明。Part.1break语句C语言中break语句有两
    的头像 发表于 04-29 18:49 1735次阅读
    深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:<b class='flag-5'>C</b><b class='flag-5'>语言</b>循环控制

    为什么学了C语言,却写不出像样的项目?

    在学习编程的路上,C语言几乎是每个程序员的“必修课”。不管你是打算从事嵌入式开发、系统编程,还是想要深入理解操作系统的底层原理,C语言都是一块重要的基石。然而许多人在学习
    的头像 发表于 03-14 17:37 681次阅读
    为什么学了<b class='flag-5'>C</b><b class='flag-5'>语言</b>,却写不出像样的项目?

    全套C语言培训资料—PPT课件

    全套C语言培训资料,共427页,13个章节:C语言概述、程序的灵魂—算法、数据类型 & 运算符与表达式、顺序程序设计、选择结构程序设计、循环控制、
    发表于 03-12 14:50

    6种方法去除焊接应力

        焊接应力是个啥?6种方法轻松去除!     由于焊接时局部不均匀热输入,导致构件内部温度场、应力场以及显微组织状态发生快速变化,容易产生不均匀弹塑性形变,因此采用焊接工艺加工的工件较其他加工
    的头像 发表于 02-18 09:29 1944次阅读
    6<b class='flag-5'>种方法</b>去除焊接应力

    字符串与字符数组的区别

    在编程语言中,字符串和字符数组是两基本的数据结构,它们都用于存储和处理文本数据。尽管它们在功能上有一定的重叠,但在内部表示、操作方式和使用场景上存在显著差异。 1. 内部表示 字符串 字符串在
    的头像 发表于 01-07 15:29 1679次阅读

    数组的下标为什么可以是负数

    char *p = s + 5; printf("%c", p[-2]); return 0;}     关键是这段代码,编译运行都很顺利。 首先需要搞懂下标的作用是什么,准确的说,它是个偏移量。 比如
    的头像 发表于 12-20 11:18 862次阅读