gpt4 book ai didi

c - 指向指针数组的指针,其中每个指针都指向数组

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

我在 C 中创建一个指向指针数组的指针时遇到问题,其中数组中的每个指针都指向一个数组。我在设置它并在每个数组中存储值时遇到问题。目标是避免数组索引并仅使用指针算术。如何正确实现这个想法并存储值以供稍后访问的示例将极大地帮助我理解函数指针、数组指针和指针算术。我确实知道如何使用 malloc 和 calloc。我知道基本的指针,但这个问题更高级,因此一些如何实现的示例将有很大帮助!谢谢! :)

最佳答案

从您的描述来看,您似乎需要类似的东西:

#include <stdio.h>

int main(void) {
// Make some arrays of ints
int a0[3] = {1, 2, 3};
int a1[3] = {4, 5, 6};

// To access element a1[2] do *(a1 + 2)
printf("%d\n", *(a1 + 2));

// Make an array of int pointers
int* b[2] = {a0, a1}; // Or: int* b[2];
// *(b + 0) = a0;
// *(b + 1) = a1;

// To access element a1 do *(b + 1)
// To access a1[1] through b just combine the two expressions
// so that you have *(*(b + 1) + 2)
printf("%d\n", *(*(b + 1) + 2));

return 0;
}

一般来说:要访问b[i][j],请执行*(*(b + i) + j)

关于c - 指向指针数组的指针,其中每个指针都指向数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39553801/

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