OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4030|回复: 7

在F407单片机ATK-SIM800C 各项测试中,char *strx=0;这样写对吗?请大家看一下程序。

[复制链接]

42

主题

153

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2017-10-30
在线时间
51 小时
发表于 2018-7-10 10:52:34 | 显示全部楼层 |阅读模式
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;来定义指针啊
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

26

主题

1533

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6369
金钱
6369
注册时间
2015-8-25
在线时间
1004 小时
发表于 2018-7-10 10:52:35 | 显示全部楼层
指针是地址,地址也是数值,0也可以看做是一个地址啊,NULL只是一个无效地址罢了,一般系统的NULL就是0,如果你指定无效地址是2,那么你也可以char *str = 2;来定义指针啊
回复

使用道具 举报

42

主题

153

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2017-10-30
在线时间
51 小时
 楼主| 发表于 2018-7-10 10:52:54 | 显示全部楼层
帮自己顶一下!!!
回复

使用道具 举报

22

主题

112

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2017-10-19
在线时间
71 小时
发表于 2018-7-10 11:50:15 | 显示全部楼层
NULL也只是一个宏定义,本质也是0
回复

使用道具 举报

42

主题

153

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2017-10-30
在线时间
51 小时
 楼主| 发表于 2018-7-10 16:03:54 | 显示全部楼层
szczyb1314 发表于 2018-7-10 14:04
指针是地址,地址也是数值,0也可以看做是一个地址啊,NULL只是一个无效地址罢了,一般系统的NULL就是0,如 ...

嗯嗯,受教了,谢谢你。
回复

使用道具 举报

35

主题

560

帖子

2

精华

资深版主

Rank: 8Rank: 8

积分
17657
金钱
17657
注册时间
2018-3-3
在线时间
523 小时
发表于 2018-7-10 20:39:41 | 显示全部楼层
char *strx=(char *)0;
这样就规范了
/*
*
*
*
*
*
*/
回复

使用道具 举报

42

主题

153

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2017-10-30
在线时间
51 小时
 楼主| 发表于 2018-7-10 20:50:02 | 显示全部楼层
Psheng 发表于 2018-7-10 20:39
char *strx=(char *)0;
这样就规范了

嗯嗯,谢谢你。
回复

使用道具 举报

42

主题

153

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2017-10-30
在线时间
51 小时
 楼主| 发表于 2018-7-10 20:50:32 | 显示全部楼层
FORMRL 发表于 2018-7-10 11:50
NULL也只是一个宏定义,本质也是0

谢谢你。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 23:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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