无法增加指针

时间:2017-01-27 20:11:49

标签: c pointers

在代码部分,stringData ++行似乎根本没有递增指针。有什么我想念的吗?

[1,2].sort().join(':');
"1:2"
[2,1].sort().join(':');
"1:2"

以下是默认示例代码,可以使用

bool WriteString(const char* stringData)
{
if(*stringData == '\0')
{
    return true;
}

/* Write a character at a time, only if transmitter is empty */
while (PLIB_USART_TransmitterIsEmpty(USART_ID_1))
{
    /* Send character */
    PLIB_USART_TransmitterByteSend(USART_ID_1, *stringData);

    /* Increment to address of next character */
    stringData++;

    if(*stringData == '\0')
    {
        return true;
    }
}
return false;
}

这里" appData"它只是一个结构的实例,其中包含一个const char指针。

2 个答案:

答案 0 :(得分:0)

只是为了确认代码是正常的并且增加了指针。我错误地认为问题是因为指针没有增加。在进一步调试时,结果证明是硬件计时问题。有关详细信息,请参阅上面的评论。

答案 1 :(得分:-4)

看起来您正在尝试增加一个您定义为常量的字符串,这意味着该字符串存储在只读内存中。

您可以尝试从字符串参数中删除const。