標題: C語言小白再請教 *p 和 /0 是什么意思 [打印本頁]

作者: bfdz    時間: 2022-1-11 17:22
標題: C語言小白再請教 *p 和 /0 是什么意思
void write_string(unsigned char hang,unsigned char add,unsigned char *p)  //改變液晶中某位的值,如果要讓第一行,第五個字符開始顯示"ab cd ef" ,調用該函數(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++;
        }
請教子函數(shù)名稱中的 unslgned char *p 中的  *p是代表什么意思
還有 while 循環(huán)中的  (*p=='\0' ) 我也不知道怎樣理解   


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




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