package main

/*
#include <stdio.h> void processInt2DArray(int* arr, int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", *(arr + i * cols + j));
}
printf("\n");
}
}
*/
import "C" func main() {
// 创建一个 Go 中的二维整数数组
goInt2DArray := [][]C.int{
{1, 2},
{4, 6},
{7, 8},
{2, 6},
}
cIntArray := [4][2]C.int{
{C.int(goInt2DArray[0][0]), C.int(goInt2DArray[0][1])},
{C.int(goInt2DArray[1][0]), C.int(goInt2DArray[1][1])},
{C.int(goInt2DArray[2][0]), C.int(goInt2DArray[2][1])},
{C.int(goInt2DArray[3][0]), C.int(goInt2DArray[3][1])},
}
// 获取数组的指针并传递给 C 函数
rows := len(goInt2DArray)
cols := len(goInt2DArray[0])
C.processInt2DArray(&cIntArray[0][0], C.int(rows), C.int(cols))
}

cgo:go数组转c数组调用c函数的更多相关文章

  1. 数组原型方法调用及函数apply调用时 类数组参数在IE8下的问题

    当函数以 apply 方式调用时, 传参方式是一个由各个参数组成的数组或类数组(一个有length属性的对象),传入参数个数取决于 length 的值,例如,某个对象 args.length=3; a ...

  2. 数组Array的方法调用

    <script language="JavaScript" type="text/javascript"> var arr = ["11& ...

  3. NSArray与NSMutableArray 数组与可变数组

    1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组.2.NSArray的创建NSArray * array = [[NSArray alloc]initWith ...

  4. iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)

    // // ViewController.swift // Swift-Array // // Created by luorende on 16/9/12. // Copyright © 2016年 ...

  5. php多维数组化一维数组

    一.使用foreach <?php function arr_foreach ($arr) { static $tmp=array(); if (!is_array ($arr)) { retu ...

  6. [转]数组引用:C++ 数组做参数 深入分析

    "数组引用"以避免"数组降阶"(本文曾贴于VCKBASE\C++论坛) 受[hpho]的一段模板函数的启发,特写此文,如有雷同,实在遗憾. 数组降阶是个讨厌的事 ...

  7. 《Javascript权威指南》学习笔记之十二:数组、多维数组和符合数组(哈希映射)

    Array(数组)是JavaScript中较为复杂的数据类型,同Java.C#.VB等程序语言的数组相比.Javascript数组中的元素不必为同样的数据类型,能够在数组每一个元素上混合使用数字.日期 ...

  8. 初识Javascript.03 -- switch、自增、while循环、for、break、continue、数组、遍历数组、合并数组concat

    除了注意大小写,别的木啥了 Switch语句 Switch(变量){ case 1: 如果变量和1的值相同,执行该处代码 break; case 2: 如果变量和2的值相同,执行该处代码 break; ...

  9. 读lodash源码之从slice看稀疏数组与密集数组

    卑鄙是卑鄙者的通行证,高尚是高尚者的墓志铭. --北岛<回答> 看北岛就是从这两句诗开始的,高尚者已死,只剩卑鄙者在世间横行. 本文为读 lodash 源码的第一篇,后续文章会更新到这个仓 ...

  10. 【嵌入式开发】C语言 指针数组 多维数组

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21402047 . 1. 地址算数运算示例 指针算数运算 ...

随机推荐

  1. 瑞芯微 | 摄像头ov13850移植笔记

    <1.瑞芯微rk356x板子快速上手> <2.Linux驱动|瑞芯微rtc-hym8563移植笔记> <3.Linux驱动 | Linux内核 RTC时间架构-基于瑞芯微 ...

  2. 嵌入式工程师到底要不要学习ARM汇编指令?arm学习文章汇总

    嵌入式工程师到底要不要学习ARM汇编指令? 网上搜索这个问题,答案很多,大部分的建议是不要学汇编,只要学C语言. 而一口君作为一个十几年经验的驱动工程师,个人认为,汇编语言还是需要掌握的,想要搞精.搞 ...

  3. k8s手动安装

    一.主节点安装 设置主机名hostnamectl set-hostname masterhostnamectl set-hostname node01 修改hosts文件vim /etc/hosts1 ...

  4. 带你了解 WebAssembly 的发展、应用与开发

    一.WebAssembly 是什么? "WebAssembly(缩写为 Wasm)是一种基于堆栈式虚拟机的二进制指令集.Wasm 被设计成为一种编程语言的可移植编译目标,并且可以通过将其部署 ...

  5. docker高级篇2-分布式存储之三种算法

    面试题: 1~2亿条数据需要缓存,请问如何设计这个缓存案例? 答:单机单台100%是不可能的.肯定是分布式缓存的.那么用Redis如何落地? 一般有三种方案: 哈希取余分区:一致性哈希算法分区:哈希槽 ...

  6. docker 命令 报错device or resource busy

    背景: docker-compose up -d 运行容器报错:failed to remove root filesystem for xxx: remove /var/lib/docker/dev ...

  7. sicp每日一题[1.42]

    Exercise 1.42 Let f and g be two one-argument functions. The composition f after g is defined to be ...

  8. 5.7前端跨域CSRF和SSRF

    一.CSRF(跨站请求伪造) 1.get类型(pikaqu靶场环境) 前提:抓包获取请求地址,构造伪造请求站点,并保持用户登录状态点击伪造站点 此时在其他主机,构造网站信息index.html文件,并 ...

  9. 交通网络分析性能再升级,SuperMap iServer新增开启SSC分析模型

    导语 SSC分析模型,全名SuperMap Short Cut,底层采用Contraction Hierarchies(简称CH)算法,该算法旨在通过对图形进行预处理和优化来降低最佳路径分析的时间复杂 ...

  10. 2021年8月国产数据库排行榜:TiDB稳榜首,达梦返前三,Kingbase进十强,各厂商加速布局云生态

    8月份的国产数据库流行度排行榜新鲜出炉.本月共有139个数据库参与了排名. 先来看看排行榜前五名.PingCAP的TiDB分数连续第二个月上涨,总分达到630.21,以136.48的分数差拉开了与第二 ...