永发信息网

我写了个函数,其中要用到一个二维数组的一维长度,使用sizeof()吗?

答案:5  悬赏:60  手机版
解决时间 2021-03-04 06:21
我用了sizeof()函数了,可是在编译的时候会提示错误的指针转换,这应该怎么弄呢?
二维数组如下:
uchar code Matrix_ON[][5]={
{0xFE,0x40,0x30,0x40,0xFE}, // -M-
{0x24,0x2A,0x2A,0x1C,0x02}, // -a-
{0x20,0xFC,0x22,0x22,0x24}, // -t-
{0x20,0x1E,0x20,0x20,0x10}, // -r-
{0x00,0x00,0x9E,0x00,0x00}, // -i-
{0x22,0x14,0x08,0x14,0x22}, // -x-
{0x00,0x6C,0x6C,0x00,0x00}, // -:-
{0x7C,0x82,0x82,0x82,0x7C}, // -O-
{0xFE,0x20,0x10,0x08,0xFE} // -N-
};
需要用到长度的函数如下:
void display_char(uint x,uchar *p)
{
uchar i;
uint length;
length = sizeof(p);
for(i=0;i<length;i++)
{
char5_dis(x,5*i,p[i]);
}
}
这到底应该怎么写呢?
最佳答案
(1)你可以借用一下字符串的特点,如果你的p指向的数组中,数据没0这个值,可以在传递时,数组的最后一位设定为0,这样可以检测0来检测是否到了数组尾。(2)如果不能确定数据中的数值范围,则必须传递数组的有效数据的长度到函数中。
//(1)
void display_char(uint x,uchar *p)
{
uchar i;

for(i=0; p[i] != 0 ;i++)
char5_dis(x,5*i,p[i]);
}
//(2)
void display_char(uint x,uchar *p , uint length )
{
uchar i;

for(i=0;i<length;i++)
char5_dis(x,5*i,p[i]);
}

sizeof(指针变量) = 4
这不是规定,而是因为指针变量是用来存储地址的,其值是个地址值,即是个数值,因此,C中对指针变量的空间大小是和long类型一致的。如果是在64位的编译系统下,sizeof(指针)=8
全部回答
你里面有些许错误啊,大哥
那数组好复杂。。
你好! 因为看不到display_char函数的调用,所以只能猜测一下了 这个函数的第二个参数是一个指针,所以 length = sizeof(p); length永远都等于4,如果p是数组的首地址,那么计算出来的长度就不符合你的逻辑要求了吧。 如果被我猜中了的话,在display_char调用前计算长度,然后作为第三个参数传进来 我的回答你还满意吗~~
因为看不到display_char函数的调用,所以只能猜测一下了 这个函数的第二个参数是一个指针,所以 length = sizeof(p); length永远都等于4,如果p是数组的首地址,那么计算出来的长度就不符合你的逻辑要求了吧。 如果被我猜中了的话,在display_char调用前计算长度,然后作为第三个参数传进来
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
阅读材料,回答问题。《焦点访谈》诞生之时,
如意陶瓷这个地址在什么地方,我要处理点事
测路面厚度距中桩5.0m是什么意思
穿梭恋人梅小曼手机放的是什么歌
4/5x-2=3/10
有没有跟王者荣耀一样的手游
黑色中性笔弄到衣服上怎么处理
6.5号我们相爱吧,大勋送李沁的礼物是什么那副
在软膏剂稳定性考核的考核项目中,不包括A.酸
单选题“即使是生活中黑暗的时刻,也一样可以
电脑主机的两个按钮,一个是电源开关,另一个
蝴蝶到冬天是死了还是冬眠?
鄂尔多斯市民政局在哪里啊,我有事要去这个地
打96533电话收取电话费么
上海华东师范大学闵行校区离哪个可以坐动车的
推荐资讯
72伏20安电动车充满电一骑第一格电就掉是怎么
描写夜晚在月光下的湖面的片段(自己写滴,大
高清汽车倒车镜辅助镜小圆镜盲点广角镜好不好
打完瘦脸针28天了输消炎药了瘦脸的效果影响吗
新摘的批把叶可以煮水小孩喝吗
在淘宝网开店要钱吗?
光荣使命ol什么模式可以玩飞机坦克呢,为什么
《庄子?齐物论》提出“齐是非”和“是非莫辨
SONY A7转接环接SONY A卡口镜头问题
如何制作DTS-HD Master Audio
长城m2钥匙的电子是什么型号
康纳v梅威瑟为什么不是ufc规则
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?