找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1669|回復(fù): 6
收起左側(cè)

關(guān)于51單片機C語言求數(shù)組大小的問題

[復(fù)制鏈接]
ID:1065477 發(fā)表于 2023-3-7 22:57 | 顯示全部樓層 |閱讀模式
單片機C語言源程序如下:
//---------------------------------------------------------------------------------------------------------------
/*MODE:Triangle*/
char code Mode_Tri[]=
{0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x01,0x3E,0x01,0x3F,0x20,0x00,/*"M",0*/

0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,/*"O",1*/

0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,/*"D",2*/

0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,/*"E",3*/

0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,/*":",4*/

0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,/*"T",5*/

0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,/*"r",6*/

0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*"i",7*/

0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x19,0x24,0x24,0x12,0x3F,0x20,0x00,/*"a",8*/

0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,/*"n",9*/

0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,/*"g",10*/

0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,/*"l",11*/

0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x24,0x24,0x24,0x24,0x17,0x00};/*"e",12*/
//---------------------------------------------------------------------------------------------------------------

我想求如上字模數(shù)組的字符數(shù)
void getCharSize(unsigned char zk*)
{
     unsigned char charNum = sizeof(zk)/sizeof(*(zk))/16;
     //這里用Keil Debug看了,charNum =0x03;
}

麻煩請教一下大佬,如何才能在函數(shù)體內(nèi)求得正確的字符數(shù)大小
回復(fù)

使用道具 舉報

ID:1012735 發(fā)表于 2023-3-8 01:24 | 顯示全部樓層
strlen(char*)
回復(fù)

使用道具 舉報

ID:1034262 發(fā)表于 2023-3-8 09:53 | 顯示全部樓層
你試試  unsigned char charNum = sizeof(zk)/16,就可以得到字符數(shù)。
回復(fù)

使用道具 舉報

ID:1065477 發(fā)表于 2023-3-8 10:56 | 顯示全部樓層
coody_sz 發(fā)表于 2023-3-8 09:53
你試試  unsigned char charNum = sizeof(zk)/16,就可以得到字符數(shù)。

這個方法已經(jīng)試過了,不太管用
回復(fù)

使用道具 舉報

ID:97322 發(fā)表于 2023-3-9 10:04 | 顯示全部樓層
sizeof(zk)/sizeof(zk[0])
回復(fù)

使用道具 舉報

ID:353115 發(fā)表于 2023-3-9 10:54 | 顯示全部樓層
不可以的,數(shù)組經(jīng)過函數(shù)形參傳參后,會退化為指針的。得使用sizeof(Mode_Tri)/16
回復(fù)

使用道具 舉報

ID:807182 發(fā)表于 2023-3-9 14:22 | 顯示全部樓層
直接strlen就可以啊
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表