gpt4 book ai didi

c++ - 通过指针制作字符串

转载 作者:太空狗 更新时间:2023-10-29 19:39:36 26 4
gpt4 key购买 nike

我了解到指针指向内存地址,因此我可以使用它来更改在该地址处设置的值。所以像这样:

int *pPointer = &iTuna;

pPointer这里有iTuna的内存地址。所以我们可以使用 pPointer 来改变 iTunes 的值。如果我打印 pPointer 内存地址被打印,如果我打印 *pPointer 然后 iTuna 的值被打印

现在看这个程序

    char* pStr= "Hello !";
cout<< pStr << endl;
cout<< *pStr << endl;
system("PAUSE");
return 0;

这里有很多我不明白的东西:

  1. 在“你好!”中每个字母单独存储,一个指针保存一个内存地址。那么pStr是如何指向所有字母的。

  2. 此外,当我打印出 pStr 时,它会打印出 Hello !,而不是内存地址。

  3. 当我打印出 *pStr 时,它只打印出 H 而不是 pStr 指向的所有内容。

我真的无法理解,这些是我的担忧。我希望有人能向我解释这个广告是如何运作的,帮助我理解

最佳答案

  1. "Hello !"array 类型 char const[8] 和值 { 'H' , 'e', 'l', 'l', 'o', ' ', '!', 0 pStr 是指向其第一个元素的指针;它的最后一个元素的值为 0

  2. iostreams 库中有一个针对 char const * 参数的重载,它将参数视为指向数组第一个元素的指针并打印每个元素,直到它遇到一个零。 (口语中的“以空字符结尾的字符串”。)

  3. 取消引用指向数组第一个元素的指针会得到数组的第一个元素,即 'H'。这与 pStr[0] 相同。

关于c++ - 通过指针制作字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11798233/

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