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语言
    +关注

    关注

    180

    文章

    7534

    浏览量

    128838
  • 数组
    +关注

    关注

    1

    文章

    409

    浏览量

    25595
  • 运算符
    +关注

    关注

    0

    文章

    163

    浏览量

    10948
收藏 人收藏

    评论

    相关推荐

    PHP中数组的使用方法

    PHP中数组的使用方法! PHP是一种广泛使用的网络编程语言,它的数组功能非常强大且灵活。数组是一种数据结构,它允许我们在单个变量中存储多个
    的头像 发表于 01-12 15:11 167次阅读

    在VisualDSP++中,设置数组长度到一定的时候出现内存溢出的情况怎么解决?

    在VisualDSP++中,设置数组长度到一定的时候出现内存溢出的情况,但是目前设置的数组并不大。 问题吐下 [Error li1040] \".21489 AD1939 C
    发表于 11-29 07:29

    C语言数组的用法

    C语言数组是一种数据结构,它可以存储多个相同类型的数据,例如整数,字符,浮点数等。数组的每个元素都有一个索引,用来表示它在数组中的位置。数组
    的头像 发表于 11-24 17:48 853次阅读
    C<b class='flag-5'>语言</b>中<b class='flag-5'>数组</b>的用法

    c语言数组怎么定义

    C语言中,数组是一种用来存储相同类型元素的数据结构。它可以存储多个元素,并通过一个共同的名称来引用这些元素。数组是一种很重要的数据结构,可以用于解决很多实际的问题。 在C语言中,定义
    的头像 发表于 11-24 10:11 1115次阅读

    C语言如何创建数组

    C语言是一种非常强大和灵活的编程语言,它提供了若干数据类型来存储和操作数据。其中之一就是数组,它可以用来存储一系列具有相同数据类型的元素。本文将详细介绍如何在C语言中创建
    的头像 发表于 11-24 10:08 847次阅读

    c语言数组中查找指定元素

    的操作,本文将详细介绍C语言中如何在数组中进行查找,并提供几种常用的查找算法和技巧。 在开始之前,我们先来了解一下数组的基本概念和使用方法数组
    的头像 发表于 11-24 10:07 1386次阅读

    C语言获取文件长度的两种方法

    C语言中没有直接获取文件长度的接口,但是我们可以使用标准库提供的函数来间接的获取文件长度。这里提供两种方法
    的头像 发表于 10-10 16:15 644次阅读
    C<b class='flag-5'>语言</b>获取文件<b class='flag-5'>长度</b>的两<b class='flag-5'>种方法</b>

    数组的定义 什么是数组

    数组 数组是内置类型,是一组同类型数据的集合,它是值类型,通过从0开始的下标索引访问元素值。 在初始化后长度是固定的,无法修改其长度。当作为方法
    的头像 发表于 10-09 09:39 1350次阅读

    在定义数组的时候,这个数组长度可以是变量吗?

    在定义数组的时候,这个数组长度可以是变量吗
    发表于 10-09 08:58

    C语言中怎么定义一个不定长度数组

    C语言中怎么定义一个不定长度数组
    发表于 10-09 07:40

    零长数组如何使用定长包定义数据缓冲区

    零长数组 请先思考以下问题: C语言中,数组长度是否可以为0? 如果要接收一个不定长数据包,你会如何定义数据缓冲区? 第一个问题 : 在标准C语言中,没有
    的头像 发表于 09-27 14:58 456次阅读

    132计算数组长度

    编程语言函数代码
    充八万
    发布于 :2023年07月26日 01:06:06

    C语言数组和指针的区别

    大家好,我是嵌入式老林,从事嵌入式软件开发多年,今天分享的内容是C语言数组和指针的区别,希望能对你有所帮助。
    发表于 07-11 12:40 279次阅读
    C<b class='flag-5'>语言</b><b class='flag-5'>数组</b>和指针的区别

    C 语言数组的基本结构

    数组是最基本的数据结构,关于数组的面试题也屡见不鲜,本文罗列了一些常见的面试题,仅供参考。目前有以下18道题目。 数组求和 求数组的最大值和最小值
    的头像 发表于 06-22 10:56 386次阅读

    芯片功能测试的五种方法

    芯片功能测试常用5种方法有板级测试、晶圆CP测试、封装后成品FT测试、系统级SLT测试、可靠性测试。
    发表于 06-09 16:25