gpt4 book ai didi

c++ - 结构体中的指针和字符

转载 作者:太空狗 更新时间:2023-10-29 23:35:06 25 4
gpt4 key购买 nike

如何用指针读取char中的第二个字母?我可以阅读整个消息“carp”和第一个字母“c”,但我不知道如何阅读第二个字母...这是我的示例代码:

#include <iostream>
#include <string>

using namespace std;

int main()
{
struct list {

char name[20];
int length;
};

list first ={
"carp",
6,
};

list *p = &first;
cout << p->name << endl; // "carp"
cout << *p->name << endl; // "c"
p = p + 1;
cout << *p->name << endl; // Not working...How to read a?
return 0;
}

最佳答案

递增 pp++p = p+1将您移动到 ​​struct list 的下一个实例,这不是您想要的(甚至不存在)。

相反,您想移动到 name 的第二个字母,这可以通过多种方式完成:

  • 对名称使用索引 - cout << p->name[1] << endl;
  • 指向p->name并增加它,即 char *np = p->name; np++; cout << *np
  • 使用指针算法而不是索引,即 cout << *(p->name+1) << endl;

关于c++ - 结构体中的指针和字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47909759/

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