标题: 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" ,调用该函数如下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++;
        }
请教子函数名称中的 unslgned char *p 中的  *p是代表什么意思
还有 while 循环中的  (*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.51hei.com/bbs/) Powered by Discuz! X3.1