c语言 函数返回二位数组 函数参数为二维数组
通过typedef可以简单实现。也可以直接写。
写了两个简单的矩阵操作的函数简单示例。
#include <stdio.h>
#include <stdlib.h> const int ROW = ;
const int COL = ; typedef int (* mat_pointer)[COL]; mat_pointer init_mat(mat_pointer a)
{
for (int i = ; i < ROW; ++i)
for (int j = ; j < COL; ++j)
a[i][j] = i + j;
return a;
} void print_mat(mat_pointer a)
{
for (int i = ; i < ROW; ++i)
for (int j = ; j < COL; ++j)
printf("A[%d][%d]=%d%c", i, j, a[i][j], j == COL - ? '\n' : '\t');
printf("\n");
} int (*build_mat(void))[COL]
{
int (* arr_pointer)[COL] = (int (*)[COL]) malloc(ROW * COL * sizeof (int));
for (int i = ; i < ROW; ++i) {
for (int j = ; j < COL; ++j)
arr_pointer[i][j] = i * + j;
}
return arr_pointer;
} int main(void)
{
int arr[ROW][COL]; mat_pointer arr2 = init_mat(arr);
print_mat(arr2); int (*arr3)[COL] = build_mat();
print_mat(arr3); return ;
}
c语言 函数返回二位数组 函数参数为二维数组的更多相关文章
- Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数
Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数 目录 Pycharm使用技巧(转载) Python第一天 ...
- Python小白学习之路(十)—【函数】【函数返回值】【函数参数】
写在前面: 昨天早睡之后,感觉今天已经恢复了百分之八十的样子 又是活力满满的小伙郭 今日份鸡汤: 我始终相信,在这个世界上,一定有另一个自己,在做着我不敢做的事,在过着我想过的生活.-------宫崎 ...
- php数组函数array_column:不用循环就能提取多维数组内容
作为一个有多年PHP开发经验的码农,我也是前段时间才发现PHP处理数组有这么好用的函数, 至此之前,我处理数组的数据基本都是使用循环,记录一下两个函数的用法: array_column() 函数 返回 ...
- Shell函数:Shell函数返回值、删除函数、在终端调用函数
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: f ...
- Shell函数返回值、删除函数、在终端调用函数
Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: function_name () { list of commands [ return value ] ...
- 类1(this指针/const成员函数/类作用域/外部成员函数/返回this对象的函数)
假设我们要设计一个包含以下操作的 Sales_data 类: 1.一个 isbn 成员函数,用于返回对象的 book_no 成员变量 2.一个 combine 成员函数,用于将一个 Sales_dat ...
- 【Shell脚本学习22】Shell 函数:Shell函数返回值、删除函数、在终端调用函数
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: f ...
- [原创]Scala学习:数组的基本操作,数组进阶操作,多维数组
1.Scala中提供了一种数据结构-数组,其中存储相同类型的元素的固定大小的连续集合.数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合 2 声明数组变量: 要使用的程序的数组 ...
- php数组倒叙支持多维数组
<?php //一维数组 $test1 = array("a"=>"苹果","b"=>"香蕉",&qu ...
- C++ enable_if 模板特化实例(函数返回值特化、函数参数特化、模板参数特化、模板重载)
1. enable_if 原理 关于 enable_if 原理这里就不细说了,网上有很多,可以参考如下教程,这里只讲解用法实例,涵盖常规使用全部方法. 文章1 文章2 文章3 1. 所需头文件 #in ...
随机推荐
- zoom 用法
from: http://www.jb51.net/css/40285.html 其实Zoom属性是IE浏览器的专有属性,Firefox等浏览器不支持.它可以设置或检索对象的缩放比例.除此之外,它还有 ...
- 在Windowx下创建以点开头的.hatccess文件
转自:在Windowx下创建以点开头的.hatccess文件 Windows有些目录名是不能创建的,有一些文件按照常规方式也是不能创建的,如在Windows下创建文件夹名为con的目录就不行,在win ...
- js中的字典
最近项目JS中需要建一个特殊的颜色库,需要用到类似C#中的dictionary的概念 然后一查发现JS没有dictionary 而是Array 初始化Array colorDic = new Arra ...
- C# dynamic
[TestMethod] public void DynamicTest() { dynamic Customer = new ExpandoObject(); Customer.Name = &qu ...
- CSS跨浏览器(转)
本文将介绍兼容IE+.FF.Chrome.Safari.Opera的技巧 一.CSS HACK 专门为某版本的浏览器设置样式,从而解决浏览器显示的差异 selector { +property:val ...
- Codeforces Round #209 (Div. 2)
A: 要么是两次要么4次,判断是否在边界: #include<cstdio> using namespace std; int main() { int n,m,x; ; scanf(&q ...
- GDB多进程调试(转)
http://www.cnblogs.com/ggjucheng/archive/2011/12/15/2288710.html GDB 是 linux 系统上常用的 c/c++ 调试工具,功能十分强 ...
- 物理地址为20位 如10000H 用段地址*16+偏移地址表示
段地质在cpu中,为16位 段地质*16则变成物理首地址20位,这个物理首地址必定是16的倍数. 偏移地址16位, 则表明一个段的大小为64k. 同时也表明16位地址的寻址能力为64kb
- UVALive - 3713 Astronauts
给定n个宇航员的年龄,平均年龄为 ave,根据下列要求分配任务: B任务只能分配给年龄<ave的宇航员: A任务只能分配给年龄>=ave的宇航员: C任务可以任意分配. 给定m组互相憎恨的 ...
- webstrom使用记录
很不方便的一点: 输入 $("#div p" 之后输入",就会变成$("#div p""" 这样,很不爽.