社区
C语言
帖子详情
求数组a的长度sizeof(a)/sizeof(a[0]) 和 sizeof(a)/sizeof(t) t是数组元素的类型差别是什么呢
taskdriven
2008-01-18 02:04:26
我读的书上说,后者的做法比较差,我不知道为什么,希望大家能给我个解释,谢谢
...全文
298
11
打赏
收藏
求数组a的长度sizeof(a)/sizeof(a[0]) 和 sizeof(a)/sizeof(t) t是数组元素的类型差别是什么呢
我读的书上说,后者的做法比较差,我不知道为什么,希望大家能给我个解释,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zzyjsjcom
2008-01-21
打赏
举报
回复
sizeof(a)/sizeof(a[0]) 更通用
netxuning
2008-01-21
打赏
举报
回复
前者的使代码的可移植性更好
我一般都将其定义为宏
#define count(a) sizeof (a) / sizeof (a[0])
Just4life
2008-01-20
打赏
举报
回复
同意一楼的答案
taskdriven
2008-01-18
打赏
举报
回复
恩,多谢
wwwhaichun
2008-01-18
打赏
举报
回复
主要为了以后修改代码,比如发现这个类型(如char)太小了,要用一个大点儿的(如int)
用前者,只需改变数组的类型,其他地方不用管了
但后者的话,只改变数组的类型还不够,因为类型不一样时大小可能也不一样
所以还得去各个地方改相应的代码,这样的话可能会修改遗漏而引起问题。
flyingwow99
2008-01-18
打赏
举报
回复
结果肯定是一样的
sizeof(a)/sizeof(a[0]) ........对任何类型的数组都能用
sizeof(a)/sizeof(t) .......... 数组改变类型这里都要改,万一写错了t你还不死?
Treazy
2008-01-18
打赏
举报
回复
一般后面的这种写法
比较晦涩
也就是它的确没什么可读性
如果一定要写成那样,我觉得也是可以的
毕竟sizeof是在编译期就决定的,所以不涉及运行期间的判断
taskdriven
2008-01-18
打赏
举报
回复
没有别的人可以解释一下吗,多谢。
taskdriven
2008-01-18
打赏
举报
回复
1 可读性 好像有点明白
2 健壮性 不明白
longmaple
2008-01-18
打赏
举报
回复
1。可读性
2。健壮性
LZ仔细想想吧。
taskdriven
2008-01-18
打赏
举报
回复
没有人能给个解释吗
sizeof
获取
数组
长度
昨天开始看《算法导论》这本书,第一个算法就是(直接)插入排序,根据书里给出的伪代码写出了C语言代码,也根据自己的理解重新写了一个。虽然实现了算法的基本要
求
,但有些细节没有处理好,今天就来完善一下。 在昨天实现的代码中,用来测试的
数组
intarray[]={5,2,4,6,1,3};是固定的,如果要更换待排序
数组
话,原来程序中的相关变量就会因为
数组
长度
的改变要做相应的改变。我想要的就是给定任
sizeof
()计算
数组
的
长度
sizeof
()计算
数组
的
长度
用
数组
a的大小除以
数组
元素
的大小可以得到
数组
的
长度
sizeof
(a)/
sizeof
(a[0])
c++中
求
数组
的
长度
c++中
求
数组
的
长度
数组
长度
=
sizeof
(
数组
名)/
sizeof
(
数组
类型
) #include<iostream> using namespace std; int main() { int intArr[] = { 1,2,3,4,5 }; char charArr[] = "abcdefgh"; //
sizeof
(
数组
名)/
sizeof
(
数组
类型
) int num =
sizeof
(intArr) /
sizeof
(int); int num1 =
sizeof
(char
数整型值
数组
求
长度
sizeof
(a)/
sizeof
(int);
为什么80%的码农都做不了架构师?>>> ...
sizeof
对静态
数组
和new动态
数组
求
长度
的区别
sizeof
可以用来
求
取
数组
的
长度
,但是只是针对静态
数组
而言,比如: int arr[] = {1,2,3,4,5,6,7}; int result =
sizeof
(arr); result的结果会是7*4=28,因为静态
数组
中有7个元素,每个元素的
类型
为int型,占4个字节。 因此可以使用下面的代码
求
静态
数组
的程度: int result =
sizeof
(arr)/sizeo...
C语言
70,037
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章