描述
释放sqlite3_get_table函数返回的结果表。
C / C ++语法
void sqlite3_free_table(char **result); |
PB语法
SUB sqlite3_free_table (BYVAL pazResult AS DWORD) |
参数
pazResult
[in]指向sqlite3_get_table函数返回的结果表的指针。
返回值
无返回值。
备注
在应用程序结束后,sqlite3_get_table的结果,它必须将结果表指针传递给sqlite3_free_table,以释放已经发生的内存。由于sqlite3_malloc在sqlite3_get_table内发生的方式,调用函数不得直接调用sqlite3_free.只有sqlite3_free_table能够正确安全地释放内存。
C ++实现代码
/*
** This function frees the space the sqlite3_get_table() malloced.
*/
SQLITE_API void sqlite3_free_table(
char **azResult /* Result returned from from sqlite3_get_table() */
){
if( azResult ){
int i, n;
azResult--;
assert( azResult!=0 );
n = SQLITE_PTR_TO_INT(azResult[0]);
for(i=1; i<n; i++){ if( azResult[i] ) sqlite3_free(azResult[i]); }
sqlite3_free(azResult);
}
}