【C语言】为什么无法用函数求得数组长度?

在C语言中,直接使用函数求解数组长度可能导致错误,因为传递给函数的是数组的指针而非数组本身。通过逐行调试,了解到数组的大小被误认为是1个int的大小。解决方法包括在数组末尾添加标识符进行遍历计数,或者在调用函数时提供数组长度。然而,更常见的做法是预先知道数组长度并在函数参数中传递。
摘要由CSDN通过智能技术生成

【C语言】为什么无法用函数求得数组长度?

问题的引出

最近碰到一道作业题,题目要求:写一个函数,能够求得某个数组的元素个数。因为对于C语言用得少,所以我照自己常规认知来写,结果发现不对。由此我发现事情并不那么简单。

过程

我们通常把数组定义和求长度同时放在main函数中:

#include <stdio.h>

int main()
{
   
    int p[] = {
    5, 4, 9, 3, 7, 2, 8, 6 };
    int length = sizeof(p) / sizeof(p[0])
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值