gpt4 book ai didi

c - 在这个特定程序中使用指针的主要好处是什么?

转载 作者:行者123 更新时间:2023-11-30 18:11:43 25 4
gpt4 key购买 nike

下面的第一个程序使用数组movie的指针:

#include <stdio.h>

int main(void) {
char movie [20];
char * pMovie = movie;

fgets(pMovie, 20, stdin);
puts(pMovie);

return 0;
}

虽然下面的第二个程序没有使用任何指针,但基本上实现了相同的结果。我不明白老师试图展示在指针中使用指针的好处,但我可以假设它超出了这个特定的示例:

#include <stdio.h>

int main(void) {
char movie [20];

fgets(movie, 20, stdin);
puts(movie);

return 0;
}

最佳答案

绝对没有任何好处,因为两者非常相似。在 C 中,数组可以被视为指向数组第一个元素的指针(在声明数组的函数范围内,编译器也知道数组的大小,因此在2,虽然不在你的例子中)。 char 数组是指向数组中第一个元素的指针,请注意当他这样做时没有类型转换:

char * pMovie = movie;

不需要类型转换,因为编译器认为这两个变量是相同的类型(char *)。

创建数组的类似方法是:

char *test = (char*)malloc(sizeof(char)*size_of_array);

我假设你的老师试图让你熟悉这个概念(C 中的数组类似于指针,反之亦然)

关于c - 在这个特定程序中使用指针的主要好处是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44359144/

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