初级会员

- 积分
- 141
- 金钱
- 141
- 注册时间
- 2017-10-30
- 在线时间
- 51 小时
|
5金钱
这个是学习板ATK-SIM800C 各项测试中的一段程序。
char *strx=0;//????,自己认为这个语句这样写是不正确的,因为str是char类型的指针,但是0是整型的变量。类型不符合怎么能赋值呢?
请大家给给一下建议,谢谢、
//SIM800C发送命令后,检测接收到的应答
//str:期待的应答结果
//返回值:0,没有得到期待的应答结果
//其他,期待应答结果的位置(str的位置)
u8* sim800c_check_cmd(u8 *str)
{
char *strx=0;//????
if(USART3_RX_STA&0X8000) //接收到一次数据了
{
USART3_RX_BUF[USART3_RX_STA&0X7FFF]=0;//添加结束符
strx=strstr((const char*)USART3_RX_BUF,(const char*)str);
//strstr(str1,str2);用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1首次出现的地址;否则,返回NULL.
}
return (u8*)strx;
}
|
最佳答案
查看完整内容[请看2#楼]
指针是地址,地址也是数值,0也可以看做是一个地址啊,NULL只是一个无效地址罢了,一般系统的NULL就是0,如果你指定无效地址是2,那么你也可以char *str = 2;来定义指针啊
|