gpt4 book ai didi

矩阵的 c 函数 free()

转载 作者:太空宇宙 更新时间:2023-11-04 01:54:08 25 4
gpt4 key购买 nike

我正在为学校做一个纯 C 语言的项目。

char** init_matrix ( )
{
printf ( "%s\n", __PRETTY_FUNCTION__ );
char** temp_matrix;
temp_matrix = ( char ** ) malloc ( CHAR_BIT * sizeof (char* ) );
for ( int i = 0; i < CHAR_BIT; i ++ )
{
*( temp_matrix + i ) = ( char * ) calloc ( CHAR_BIT, sizeof (char ) );
}

return temp_matrix;
}

在 main 的某个地方,我有一个电话,

char ** mat = init_matrix ( );

是否自由级联到所有指向的指针

free(mat);

或者我应该为每个定义的指针再次做一个 for 循环吗?

最佳答案

Is free cascading to all pointers pointed

没有。

should i do a for loop again for every pointer defined?

是的。

一般规则是:

每 1 次调用 malloc() 或其 friend (calloc()realloc( ), strdup()).

在已经重新/分配的内存块上调用 realloc() 不算在内。

关于矩阵的 c 函数 free(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37508969/

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