C - 通过已知大小的引用多维数组传递

2023-12-11

主要内容:

char *myData[500][9]; //dynamic rows??
char **tableData[500]={NULL};         //dynamic rows??
int r;

newCallBack(db, &myData, &tableData, &r);

并通过以下方式传递给函数:

void newCallBack(sqlite3 *db, char** mdat, char*** tdat, int* r )
{

好像不喜欢这个?有什么建议么?网上有很多例子,当你不知道尺寸时,现在就尝试一下......

Thanks.


如果你要这样重写:

#define NUM_ROWS 500;
#define NUM_COLS 9;

char **myData  = NULL;
char  *tableData = NULL;
int    i;
int    r;

myData = malloc(sizeof(char *) * NUM_ROWS);
if (!myData)
    return; /*bad return from malloc*/

tableData = malloc(sizeof(char) * NUM_ROWS);
if (!tableData)
    return; /*bad return from malloc*/

for (i = 0; i < NUM_ROWS; i++)
{
    myData[i] = malloc(sizeof(char) * NUM_COLS);
    if (!myData[i])
        return;  /*bad return from malloc*/
}

然后你会打电话newCallBack()如果您只想访问数据(myData, 表数据, and r):

/*prototype*/
void newCallBack(sqlite3 *db, char** mdat, char* tdat, int r);

/*call*/
newCallBack(db, myData, tableData, r);

或者如果您希望能够修改变量的内容myData 和 tableData指向 和 的值r:

/*prototype*/
void newCallBack(sqlite3 *db, char ***mdat, char **tdat, int *r);

/*call*/
newCallBack(db, &myData, &tableData, &r);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C - 通过已知大小的引用多维数组传递 的相关文章

随机推荐

  • Laravel 种子问题,laravel 正在寻找复数表名

    我刚刚开始学习 Laravel 在为测试表生成种子时遇到问题 控制台错误说 未找到基表或视图 1146 表 laravel testms 不存在 我的表名为 testm 我不知道它为什么寻找 testms TestmFactory php
  • 使用 Arduino 库与 C++ 的 stringstream 链接错误

    我正在使用一个esp8266和 一起平台写一个简单的草图 include
  • 通过使用 Vaadin-CDI-Integration Addon 启用 EJB 注入 Vaadin 7 UI

    我无法成功集成官方 Vaadin CDI Integration Addon 因为在完成官方集成说明后 以下内容Exception如果我重新加载已经发布的 URL 则会抛出该错误localhost 8080 App restartAppli
  • Clang 看不到基本标题

    我尝试使用 Clang 在 Fedora 20 上编译简单的 hello world 得到以下输出 d cpp 1 10 致命错误 找不到 iostream 文件 include
  • Angular 2 使用 ngFor 设置并绑定复选框

    我有一个像这样的数组 objectArray name Car name Bike name Boat name Plane 模板是这样的 li a href class small a li
  • 任务不可序列化 - Spark Java

    我在 Spark 中收到任务不可序列化错误 我已经搜索并尝试使用一些帖子中建议的静态函数 但它仍然给出相同的错误 代码如下 public class Rating implements Serializable private SparkS
  • 仅在 WooCommerce 中的特定日期销售某些产品

    我想通过 Woocommerce 出售某些指定的商品仅周日 如果有人试图在周日以外购买 它应该给出一个错误 商店中剩余的商品可以随时购买 这可能吗 任何曲目都非常值得赞赏 Example 我有一款名为 Sunday Tapas 的产品 产品
  • 如何在 bash 脚本中对命令输出进行着色?

    我正在尝试几天来更改 bash 脚本中命令的颜色输出 我尝试了一些工作流程 例如陷阱但没有成功 唯一部分起作用的是这段代码 bin bash GRN e 32m CYN e 36m END e 0m echo e GRN Formating
  • Spring Data JPA 中的订单按日期描述限制

    我试图通过使用限制查询来限制查询结果 如果没有限制 查询将按预期工作 Query SELECT a FROM DrmAdpodTimeSlot a where a startTime gt startTime order by a star
  • 精确的字符串到整数哈希函数

    我想将 char 数组哈希为 int 或 long 结果值必须遵守给定的精度值 我一直在使用的功能如下 int GetHash const char zKey int iPrecision 6 FROM http courses cs vt
  • 添加删除程序图标

    我有一个 WIX 安装程序项目 用于安装我的产品 代码不是我写的 它在添加 删除程序中显示一个图标 我想知道它在源代码中的哪里指定 该图标是我的产品的主要可执行文件 我尝试搜索代码 但在整个代码中找不到任何 ARPProductICON 单
  • 如何调用 .Net 程序集中的嵌入式资源 exe?

    我有一个非 Net 可执行文件 它作为嵌入式资源包含在我的 net 程序集中 有没有一种方法可以运行这个可执行文件 而不需要将其写入磁盘并启动它 这就是 Net 2 0 您可能会尝试将 exe 注入到挂起的进程中 然后唤醒被劫持的进程 但这
  • 无法设置 NSUserDefaults 字段

    我的应用程序初始化 第一次 中有以下代码 NSUserDefaults defaults NSUserDefaults standardUserDefaults NSString uid 1 defaults setObject uid f
  • 如何判断 Android 设备是否具有开放附件模式

    有谁知道如何检查这个 我刚刚购买了三星 Galaxy Tab 2 运行 Android 4 0 3 的 7 英寸版本 打算用它连接到我的 Arduino Mega ADK 板 但我不确定 Galaxy Tab 是否具有此处列出的必要的开放附
  • vbScript 打开 Excel 但不加载宏/模块?

    我的处境很奇怪 我创建了一个 vbs 脚本来打开我的 Excel 文件 我在 WorkBook open 方法中定义了 vba 代码 我认为创建一个 vbs 脚本来打开我的 Excel 将调用我的 workBook open 方法并执行其中
  • 如何忽略python日志记录过程中产生的异常?

    我正在一个大的 python 模块 Python 2 6 6 中工作 并在数千个地方进行日志记录 并且我正在使用 python 的记录器模块 现在 我想忽略日志记录期间生成的异常 可能的基本场景之一是 import glob import
  • 通过预处理器禁用或启用代码

    在 C 中我会写 bool positive int a ifdef DEBUG cout lt lt Checking the number lt lt a lt lt n endif return a gt 0 在 OCaml 中我可以
  • 如何一张一张地制作 Bootstrap 4 卡的动画?

    我需要帮助在 Bootstrap 4 中制作卡片动画 我有 4 个卡盒 如下图所示 这是一个简单的引导 4 卡牌 带有 4 个卡盒 每当用户滚动到此部分时 我都会尝试从右侧一一滑动每个框 如何实现 我不想制作滑块 旋转木马 作为参考 请检查
  • 如何使用另一个字符串作为模板从字符串中提取数据?

    我正在寻找一种有效的方法来使用另一个字符串作为模板从字符串中一般提取数据 伪代码 var mystring NET 1 1 0 ipv4 192 168 1 7 255 255 255 0 192 168 1 1 var mytemplat
  • C - 通过已知大小的引用多维数组传递

    主要内容 char myData 500 9 dynamic rows char tableData 500 NULL dynamic rows int r newCallBack db myData tableData r 并通过以下方式