OpenEdv-开源电子网

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

请问 if(sim900a_send_cmd("AT+CLIP=1","OK",200)) 这句里的前两个参数是怎么变成指针的

[复制链接]

8

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2014-12-22
在线时间
0 小时
发表于 2015-1-28 11:24:17 | 显示全部楼层 |阅读模式
5金钱
我看函数定义里前两个参数应该是指针,开始"AT+CLIP=1"和"OK"是怎么转变成指针的,小白初学,真心求教

最佳答案

查看完整内容[请看2#楼]

回复【4楼】k775835868: --------------------------------- 这里每个字符串你要看到2个东西,一个是分配了一段内存,存放这个字符串,同时又定义了一个字符指针,指向这个字符串的首地址。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

561

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1839
金钱
1839
注册时间
2014-6-27
在线时间
982 小时
发表于 2015-1-28 11:24:18 | 显示全部楼层
回复【4楼】k775835868:
---------------------------------
这里每个字符串你要看到2个东西,一个是分配了一段内存,存放这个字符串,同时又定义了一个字符指针,指向这个字符串的首地址。
回复

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2015-1-28 11:56:04 | 显示全部楼层
字符串传递的都是指针。
业余程序玩家。
回复

使用道具 举报

14

主题

338

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
464
金钱
464
注册时间
2013-6-15
在线时间
15 小时
发表于 2015-1-28 11:58:19 | 显示全部楼层
好好看看C...
回复

使用道具 举报

8

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2014-12-22
在线时间
0 小时
 楼主| 发表于 2015-1-28 13:53:42 | 显示全部楼层
那"AT+CLIP=1"这个传递的指针是什么
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13135
金钱
13135
注册时间
2012-11-26
在线时间
3814 小时
发表于 2015-1-28 14:38:36 | 显示全部楼层
C语言基础! 回去啃书本吧!
学无止境
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-1-28 23:02:21 | 显示全部楼层
回复【4楼】k775835868:
---------------------------------
"AT+CLIP=1"的首地址.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

133

帖子

0

精华

初级会员

Rank: 2

积分
169
金钱
169
注册时间
2014-12-21
在线时间
1 小时
发表于 2015-1-29 12:05:52 | 显示全部楼层
"AT+CLIP=1"表示一个无标识符的字符串,数组和字符串做函数参数时传递的都是首地址指针,比如这里,传递的就是'A'所在地址,整个字符串在内存里表达是
'A','T',…'=','1','\0'
这些都是ascii字符,你可以查看这个表,是0x00(\0)表示空,在函数处理时看到\0就认为这个字符串结束了。这样你传递字符串,只需要知道首地址,顺着查下来就知道你的字符串有多长。

本人纯新手,有错请指教。
流过汗水才能代表自己真的学会了如何不流汗。
回复

使用道具 举报

0

主题

133

帖子

0

精华

初级会员

Rank: 2

积分
169
金钱
169
注册时间
2014-12-21
在线时间
1 小时
发表于 2015-1-29 12:35:25 | 显示全部楼层
好吧,看了一下C陷阱与缺陷。"AT+…"表示一个字符串常量,代表了一块包含所有字符以及一个空字符('\0')的内存区域的地址。
流过汗水才能代表自己真的学会了如何不流汗。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-26 06:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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