標(biāo)題: C語(yǔ)言小白再請(qǐng)教 *p 和 /0 是什么意思 [打印本頁(yè)]

作者: bfdz    時(shí)間: 2022-1-11 17:22
標(biāo)題: C語(yǔ)言小白再請(qǐng)教 *p 和 /0 是什么意思
void write_string(unsigned char hang,unsigned char add,unsigned char *p)  //改變液晶中某位的值,如果要讓第一行,第五個(gè)字符開(kāi)始顯示"ab cd ef" ,調(diào)用該函數(shù)如下write_string(1,5,"ab cd ef");
{
        if(hang==1)   
                write_com(0x80+add);
        else
                write_com(0x80+0x40+add);
        while(1)
        {
                if(*p == '\0')  break;
                write_data(*p);
                p++;
        }
請(qǐng)教子函數(shù)名稱中的 unslgned char *p 中的  *p是代表什么意思
還有 while 循環(huán)中的  (*p=='\0' ) 我也不知道怎樣理解   


作者: 188610329    時(shí)間: 2022-1-11 19:37
首先,你可以理解為,*p==0x00  的另一種寫(xiě)法。然后,*p是一個(gè)指針變量。
作者: 黃youhui    時(shí)間: 2022-1-12 09:08
\0是字符串結(jié)束標(biāo)志
作者: 名字不是重點(diǎn)    時(shí)間: 2022-1-12 09:25
if(*p == '\0')  break; ==>翻譯成人話就是:當(dāng)指針‘P’指向的變量值為0(或者說(shuō)字符串結(jié)束),跳出。。。。
作者: bfdz    時(shí)間: 2022-1-12 09:36
感謝老師指教,明白了。   我還要再溫習(xí)一下指針
作者: MCU_FANS    時(shí)間: 2022-1-12 09:58
1.  unsigned char *p是定義一個(gè)指針變量p;
2.  *p == '\0'中的*p是取指針p所指向的內(nèi)存中的值;
3.  *p == '\0'中的'\0'是空字符,字符串最后會(huì)跟一個(gè)空字符,來(lái)表示字符串的結(jié)束;




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1