sizeof数组长度(sizeof()函数测量常量数组的长度的问题)

本文目录
- sizeof()函数测量常量数组的长度的问题
- sizeof(sz)\sizeof(int)//这是求数组sz的长度吗为什么
- C语言如何用sizeof求未知数组的长度
- sizeof 所测得的字符数组的长度是不是就是字符数组定义的长度
- sizeof可用来求数组长度不
sizeof()函数测量常量数组的长度的问题
看来你是单片机C语言编程了
sizeof(arr); arr是一个指针,获取到的是指针的字节数,在c中是4
在单片机中从来没有用过sizeof取得数组的长度
一般来说,单片机中数组长度都是固定的,编写者都知道了长度,没必要多此一举取长度
不过你确实要获取长度,可以自己写个函数来获取,并且数组定义方法要改改
比如你给的例子,定义成
code unsigned int arr={1,2,3,4,9999};
那么获取长度的函数检测到9999就可以了,这是数组长度就出来了
我只是提供思路,你可以再考虑考虑,希望帮你解决了问题
sizeof(sz)\sizeof(int)//这是求数组sz的长度吗为什么
应该说是的。
sizeof(sz)求出的是这个变量sz实际所占用的字节数。
sizeof(数据类型)表示这种数据类型所占用的字节数。
用变量sz实际所占用的字节数,除以这种数据类型所占用的字节数,
就等于这个数组sz的长度。
需要注意的是:这种东西不能使用在函数的传入参数上。因为数组在
传入函数的过程中,会自动被转换成指针类型,在32位机上任何类型指针都是
四个字节。如果这时这样使用就会出错的,你会发现它永远都是1。
C语言如何用sizeof求未知数组的长度
char *str1;
str1 = getchar();
printf("%d", sizeof(str1) / sizeof(char));
你有两个错误 不能定义一个未知长度的数组,while判定条件有问题,getchar是字符串的输入。
sizeof 所测得的字符数组的长度是不是就是字符数组定义的长度
应该说sizeof测得的是数组定义形式所占字节数,比如int a[100],int占4字节,所以sizeof(a)=4×100=400,如果是double型的就是8×100=800了
sizeof可用来求数组长度不
通过sizeof可以计算出类型的长度,同样也可以计算出数组的长度,但是这具有一定的局限性。
以下是一段示例代码:
session 1: 计算出数组的长度
session 2: 通过函数计算出数组的长度
session 3: 通过函数计算出数组的长度
运行结果:

本文相关文章:
head out(head out/over/on/off分别是什么意思)
2026年10月2日 04:10
access2007数据库怎么用(Microsoft Office Access 数据库向导模板 怎么用啊)
2026年9月16日 13:30
svg导入ppt(mac上装了office2016另存为为什么没有增强型图元件)
2026年9月10日 10:50
workstation翻译(哪位高手能帮翻译下这篇英文Kinds of Computers)
2026年6月28日 01:40
更多文章:
avantage怎么设置为中文(Avantage安装丢失GIT)
2026年10月15日 03:00
activex控件未注册怎么办(登陆视频监控网页时提示activex控件未注册,怎么解决)
2026年10月14日 20:30
excel连接sql数据库教程(excel怎么连接sql数据库)
2026年10月14日 19:40



