找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1953|回复: 5
收起左侧

C语言小白再请教 *p 和 /0 是什么意思

[复制链接]
ID:477441 发表于 2022-1-11 17:22 | 显示全部楼层 |阅读模式
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' ) 我也不知道怎样理解   

回复

使用道具 举报

ID:624769 发表于 2022-1-11 19:37 来自手机 | 显示全部楼层
首先,你可以理解为,*p==0x00  的另一种写法。然后,*p是一个指针变量。
回复

使用道具 举报

ID:592807 发表于 2022-1-12 09:08 | 显示全部楼层
\0是字符串结束标志
回复

使用道具 举报

ID:824490 发表于 2022-1-12 09:25 | 显示全部楼层
if(*p == '\0')  break; ==>翻译成人话就是:当指针‘P’指向的变量值为0(或者说字符串结束),跳出。。。。
回复

使用道具 举报

ID:477441 发表于 2022-1-12 09:36 | 显示全部楼层
感谢老师指教,明白了。   我还要再温习一下指针
回复

使用道具 举报

ID:962286 发表于 2022-1-12 09:58 | 显示全部楼层
1.  unsigned char *p是定义一个指针变量p;
2.  *p == '\0'中的*p是取指针p所指向的内存中的值;
3.  *p == '\0'中的'\0'是空字符,字符串最后会跟一个空字符,来表示字符串的结束;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表