gpt4 book ai didi

c - 为什么我不必使用指针?

转载 作者:行者123 更新时间:2023-11-30 17:04:28 27 4
gpt4 key购买 nike

在练习中,我们有一个结构 vector ,我们需要反转该 vector 的顺序。我已经在没有使用指针的情况下解决了问题,但我的直觉告诉我我应该使用指针,而且我不明白如何在不使用指针的情况下解决这个问题。我有点困惑,因为我已经有一段时间没有编写 C 代码了。对于变量/结构名称不是英文,我深表歉意,但它们非常接近,任何说英语的人都可以理解。

typedef struct{
char *str;
} elemento;

typedef struct{
int tamanho;
int capacidade;
elemento* elementos;
} vetor;


void vetor_inverte(vetor *vec){

elemento aux;
int i=0;

for(i=0; i<(vec->tamanho)/2; i++){
aux = vec->elementos[i];
vec->elementos[i] = vec->elementos[ vec->tamanho -1-i ];
vec->elementos[ vec->tamanho -1-i ] = aux;
}
}

最佳答案

假设 vectorelementos 字段是一个 elemento 数组,那么你所做的就很好。您将第一个与最后一个交换,然后将第二个与倒数第二个交换,依此类推。

当您进行交换时,它会复制 elemento 结构的每个字段。

我认为在这种情况下不需要涉及指针。

关于c - 为什么我不必使用指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35760331/

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