博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQLite3 数据库指针传递
阅读量:6288 次
发布时间:2019-06-22

本文共 843 字,大约阅读时间需要 2 分钟。

hot3.png

main 函数

int main() {    sqlite *pDb;    openDataBase(pDb);    return 0}

错误的openDataBase() 函数

int OpenDataBase(sqlite3 *pDb_f) {    int rc;    rc = sqlite3_open("sqlite.db", &pDb_f);    if (rc == SQLITE_OK) {        // success!  return 0        return 0;    } else {        // fail!     return 1        return 1;    }}

main 函数

int main() {    sqlite *pDb;    openDataBase(&pDb);    return 0}

正确的 openDataBase() 函数

int OpenDataBase(sqlite3 **ppDb_f) {    int rc;    rc = sqlite3_open("sqlite.db", ppD_f);    if (rc == SQLITE_OK) {        // success!  return 0        return 0;    } else {        // fail!     return 1        return 1;    }}

错误分析:

在原来的 openDataBase() 函数中,pDb 传递给形参 pDb_f,openDataBase() 只是对形参 pDb_f 进行了修改,pDB 并没有被改变。改正之后,pDb 将自己的地址传递给形参 ppDb_f,openDataBase() 函数对 ppDb_f 的改变将直接影响 pDb。

转载于:https://my.oschina.net/yumifan/blog/272520

你可能感兴趣的文章
python中一切皆对象------类的基础(五)
查看>>
modprobe
查看>>
android中用ExpandableListView实现三级扩展列表
查看>>
%Error opening tftp://255.255.255.255/cisconet.cfg
查看>>
java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
查看>>
《从零开始学Swift》学习笔记(Day 51)——扩展构造函数
查看>>
python多线程队列安全
查看>>
[汇编语言学习笔记][第四章第一个程序的编写]
查看>>
android 打开各种文件(setDataAndType)转:
查看>>
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>
vue part3.3 小案例ajax (axios) 及页面异步显示
查看>>
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>
26.Azure备份服务器(下)
查看>>
mybatis学习
查看>>