[STM32F1] STM32中 字符串是连续存储的吗

[复制链接]
1207|12
 楼主| 小沐127 发表于 2016-8-26 16:20 | 显示全部楼层 |阅读模式
void USART1_Puts(char * str)
{
    while(*str)
    {
        USART_SendData(USART1, *str++);
        while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
    }
}

我觉的这种写法就是让单片机为字符串随机分配连续内存空间,,是吗?
80x86abc 发表于 2016-8-26 17:20 | 显示全部楼层
aozima 发表于 2016-8-26 18:37 | 显示全部楼层
同个字符串必然是连续存储的,不然怎么叫 串
 楼主| 小沐127 发表于 2016-8-26 19:03 | 显示全部楼层

看了你发的那几帖子,也就是个中低级水平问题,我还以为你多厉害。。。。搞笑
 楼主| 小沐127 发表于 2016-8-26 19:06 | 显示全部楼层
aozima 发表于 2016-8-26 18:37
同个字符串必然是连续存储的,不然怎么叫 串

哦,3Q
低八度的声线 发表于 2016-8-27 10:12 | 显示全部楼层
*str++,这样地址是连续增加的,所以字符串也是连续的。
dirtwillfly 发表于 2016-8-27 14:56 | 显示全部楼层
连续的,所以才能用*str++这种地址自增操作
HARRY007 发表于 2016-8-27 15:53 | 显示全部楼层
上面那句话并不是单片机为发送符串分配连续内存,它是从某个传入的地址开始取数据通过串口发送出去。把字符串的首地址传进去了就把字符串发出去了,字符串的结束符是'\0',ASCII码对应的就是数值0,所以再while中判别字符串发送完了没……
lwsn 发表于 2016-8-27 19:09 | 显示全部楼层
*str++,就是控制地址连续增加的
拉克丝 发表于 2016-8-27 20:42 | 显示全部楼层
*str++控制地址自增,让存进来的字符成串
lt1231 发表于 2016-8-28 18:15 | 显示全部楼层
小沐127 发表于 2016-8-26 19:03
看了你发的那几帖子,也就是个中低级水平问题,我还以为你多厉害。。。。搞笑 ...

就是,要尊重别人的提问。只有不会才提问呢,不懂就要问。
szjlj168 发表于 2016-8-28 23:42 | 显示全部楼层
看来楼上也是来打酱油的。。。。。。。。。。。。。。。。
Thorald 发表于 2016-8-31 21:17 | 显示全部楼层
是连续的哦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

48

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部