gpt4 book ai didi

C 指针和数组声明

转载 作者:行者123 更新时间:2023-12-02 05:38:41 25 4
gpt4 key购买 nike

我目前正在通过“Learning C the Hard Way”学习 C

在某些示例代码中,我对为什么某些数组必须使用指针进行初始化感到有点困惑。

 int ages[] = {23, 43, 12, 89, 2}; 
char *names[] = {
"Alan", "Frank",
"Mary", "John", "Lisa"
};

在上面的例子中,为什么 names[] 数组在声明时需要一个指针?创建数组时如何知道何时使用指针?

最佳答案

"Alan" 之类的字符串文字是 char[5] 类型,要指向字符串的开头,您可以使用 char * “Alan” 本身由以下部分组成:

{ 'A', 'L', 'A', 'N', '\0' }

如您所见,它由多个 char 组成。此 char * 指向 字符串的开头,即字母 'A'

由于您需要这些字符串数组,然后您将[] 添加到您的声明中,因此它变成:char *名称[]

关于C 指针和数组声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8046837/

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