gpt4 book ai didi

arrays - 如何将数组[]的地址存储在变量中

转载 作者:行者123 更新时间:2023-12-02 01:47:17 25 4
gpt4 key购买 nike

这似乎是一个愚蠢的问题。我有一个字符数组,想要将数组的地址存储在另一个变量中,但似乎无法声明数组地址的正确类型(我正在使用 gcc):


输入:

int main(void){
char cha[] = "abcde";
char **arrayAddress = &cha;
}

输出:

arrayaddress.c: In function ‘main’:
arrayaddress.c:3:25: warning: initialization of ‘char **’ from incompatible pointer type ‘char (*)[6]’ [-Wincompatible-pointer-types]
3 | char **arrayAddress = &cha;
| ^

这是预料之中的,我已阅读 elsewhere cha 的类型应为 char(*)[6]。但是当我尝试用这种类型声明 arrayAddress 时,我的程序失败了:


输入:

int main(void){
char cha[] = "abcde";
char (*)[6]arrayAddress = &cha;
}

输出:

arrayaddress.c: In function ‘main’:
arrayaddress.c:3:10: error: expected identifier or ‘(’ before ‘)’ token
3 | char (*)[6]arrayAddress = &cha;
| ^
make: *** [<builtin>: arrayaddress] Error 1
^

如何正确定义arrayAddress

最佳答案

written :

char (*arrayAddress)[6] = &cha;

请注意,变量名称隐藏在表达式中间。

关于arrays - 如何将数组[]的地址存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70763141/

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