gpt4 book ai didi

c++ - 代码解释 c++ [struct/two diamentinal array/pointers]

转载 作者:行者123 更新时间:2023-11-28 06:22:52 24 4
gpt4 key购买 nike

我是 C++ 及其开发人员的新手。我在 main.cpp 文件中调用了两种方法 void accumulation(void) 和 void chartest(char * nam) accumulation。

void accumulation(void)
{
char * test[] ={"Rehan ","Kalpana"};
chartest(&test[0][1]);
}

void chartest( char * nam)
{
printf("char name -> %s \n",nam);
}

我按如下方式更改了 chartist 中的值,然后我得到了如下输出

chartist(&test[0][1] - char name -> ehan
chartest(&test[1][1])-char name -> alpana
chartest(&test[1][0]) -char name -> Kalpana
chartest(&test[0][0])- char name -> Rehan

谁能解释一下为什么会这样。它会帮助我很多。谢谢

最佳答案

您基本上只是访问字符串中的某个字符并将其转换为字符数组(检索它的地址)。

test[0][0] = "Rehan" = 'R'   // type: char
^
test[0][1] = "Rehan" = 'e' // type: char
^

&test[0][0] = "Rehan" // type: char*
&test[0][1] = "ehan" // type: char*

您只是在偏移字符串的开头。

希望我说的有道理。

关于c++ - 代码解释 c++ [struct/two diamentinal array/pointers],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29045042/

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