MYSQL C API : mysql_init()

MYSQL * mysql_init(MYSQL *mysql);    // 初始化一个MYSQL 连接的实例对象
void mysql_close(MYSQL *sock);    // 释放一个MYSQL 连接实例

这个函数有两种用法:
1、参数传NULL 值。
    // 这种情况很显然,是mysql_init() 函数内部申请了一片内存,然后返回了首地址。
    MYSQL *ms_conn = mysql_init(NULL);
    // 用完记得要释放
    mysql_close(ms_conn), ms_conn = NULL;

2、参数传对象地址。
    // 这种情况就是使用栈内存,mysql_init() 函数显然不应该给分配堆内存。
    MYSQL ms_eg; 
    MYSQL *ms_conn = mysql_init(&ms_eg);
    // 用完记得要释放
    mysql_close(ms_conn), ms_conn = NULL;

一般都采用都一种方法,暂时也没想到在什么情况下使用第二种方式更有用。
原文地址:https://www.cnblogs.com/suyunhong/p/4788389.html