gpt4 book ai didi

C 指向字符的指针

转载 作者:太空宇宙 更新时间:2023-11-04 07:28:52 24 4
gpt4 key购买 nike

我对 C 指针有一些误解:

void putString(char* StringPtr, int length){
for(int i=0; i< length; i++)
{
USART_send(*StringPtr);
StringPtr++;
}
}

void parseMsg(char* in_string, int str_len) {
int i = 0;
putString(in_string, str_len);
for(i = 0; i <= str_len; i++)
{
char* temp_pt = &in_string[i];
putString(temp_pt, 1);
}
}

int main(int arg) {
char* myChar = "abcdefg";
parseMsg(myChar, 7);
}

编辑:parseMsg 中,当我调用第一个 putString 时,效果很好。当我尝试循环打印每一个时,它没有。 USART_send 只是将字符输出到我的终端。

最佳答案

那是因为 test[i]char 类型而不是 char * 类型。

您可以分配给 char:

 char temp = test[i];

或者获取它的地址:

 char *temp = &test[i];

关于C 指向字符的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15721859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com