gpt4 book ai didi

c - 传递指针作为参数,内存使用情况

转载 作者:行者123 更新时间:2023-11-30 14:38:26 24 4
gpt4 key购买 nike

我有一个关于指针的问题。

这两个选项在内存使用方面有什么区别?我已经尝试过这两种方法,但就我的内存而言,没有任何改变。我认为第一个会收到一个指向已分配内存地址的指针,第二个会收到一个副本。

    check_ret = check_tetrimino(&grid, *curr, ind_y, ind_x);
int         check_tetrimino(char ***grid, t_tetrimino curr, int ind_y, int ind_x)

    check_ret = check_tetrimino(grid, *curr, ind_y, ind_x);
int         check_tetrimino(char **grid, t_tetrimino curr, int ind_y, int ind_x)

最佳答案

在这两种情况下它都是一个指针。 char *** 是一个指针,char ** 也是一个指针,并且两者的大小相同:

sizeof(char**) == sizeof(char***)

因此,在两种情况下,为两个不同的函数调用复制的字节量是相同的。显然,函数接收的指针指向不同的东西,但这不会改变函数参数的大小。

关于c - 传递指针作为参数,内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56610072/

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