标题: 单片机程序有不懂的地方请教一下大家 [打印本页]

作者: 天水    时间: 2020-5-11 14:33
标题: 单片机程序有不懂的地方请教一下大家
int GPS_RMC_Parse(char *line,GPS_INFO *GPS)
{
    char *buf = line;
}
//char *buf = line;这一句表达的含义是什么//



作者: mamba啊    时间: 2020-5-11 14:33
buf,line是地址,*buf是取地址里的内容
char *buf = line;就是将line的地址给buf,然后取line里的内容给buf。
作者: 神秘人lm    时间: 2020-5-11 15:26
就是line的值给buf,然后转换成char类型
作者: 饮酒作乐    时间: 2020-5-11 15:28
将line数组的值赋值给数组buf
作者: SummeR.SM    时间: 2020-5-11 15:30
前面的char*是将后面的buf强制转换成char类型的意思这一句的话可以理解成line的值赋予给buf,然后强制转换为char的类型
作者: 107056    时间: 2020-5-11 15:35
将GPS获取到的line的信息存到定义为字符型的buf存储里
作者: yyqygdx    时间: 2020-5-11 15:42
把参数中line的信息写入到字符串中。看样子就是读取GPS信息到buf中进行处理
作者: Shang_    时间: 2020-5-11 15:47
形参是char * 类型的变量。
char *buf = line;是将函数参数line 赋予变量buf。

作者: csmyldl    时间: 2020-5-11 15:56
line是地址,*buf是指针,意思是把地址line赋值给*buf指针
作者: 轩辕prince    时间: 2020-5-11 16:06
好像是一个缓存,你是不懂指针怎么用,还是咋地
作者: MY黄土高坡    时间: 2020-5-11 16:08
定义了一个指针字符buf,并且把line地址的数据传给buf

相当于
char *buf;
buf = line;
作者: man1234567    时间: 2020-5-11 16:43
感觉 char *buf = line;这一句表达的含义是将 *line  内容定义并赋值给 *buf
作者: adject    时间: 2020-5-12 00:48
指针传递,也是地址传递,line 指向的地址 给buf, char *buf 是指向char类型数据的指针
作者: ehengio    时间: 2020-5-13 14:39
定义一个buf指针,并赋值为line
作者: 小鱼仔1111    时间: 2020-5-14 10:25
个人理解:表面上类似int  line=1;int buf=line;所以buf与line是同类型变量,且buf=line=1;
作者: 小鱼仔1111    时间: 2020-5-14 10:30
个人理解 实际上:char *buf;是指定义了一个char类型的指针,而指针要指向地址,char *line也是一个char类型的指针。char*buf=line则指的是buf指向的地址与line指向的地址相同。所以line可以做的操作buf也可以做(例buf[0]与line[0]的值是相等的)
作者: boboxuexi    时间: 2020-5-14 14:02

相当于char *buf;,buf = line;
作者: hangsy    时间: 2020-5-14 15:07
在你调用 GPS_RMC_Parse(char *line,GPS_INFO *GPS)这个函数的时候会在()输入两个值,第一个值赋给line,第二个值赋给GPS,char *buf = line就是定义了一个char型的指针,这个指针名为buf,之后吧line的值赋值为buf
作者: 电控2001    时间: 2020-5-14 16:13
就是line的值赋予给buf,最后再转换成char类型号
作者: 染落莫a    时间: 2020-5-14 18:06
这句相当于:
char *buf;
buf=line;
buf和line都是指针变量,将line的内容赋值给指针变量buf。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1