c数组
一维数组
有三种赋值方式
1.原始的赋值

2. 初始化赋值

3.动态赋值

数组的花式玩法
void main()
{
int a[] = {, , , , , , , , , };
test(a); putchar('\n');
} void test(int b[])
{
int i = ;
for(; i<; i++)
{
printf("%d ", b[i]);
}
}
// 是不是和python的有点类似啊, a就是变量地址, 传的是引用,哈哈

二维数组
二维数组定义的一般形式为
类型说明符 数组名 【常量表达式】 【常量表达式】
例如: 定义a为3 x 4(3行4列)的数组, b为5x10的数组 如下:
float a【】【】, b【】【】;
分割线:
--------------------------------------------
例如:
int a[][];
说明了一个三行四列的数组, 数组名为a, 其下标变量的类型为整型。
该数组的下标变量共有3x4个,感觉与python的numpy的模块很像

二维数组的定义:
二维数组在概念上是二维的,但是,实际的硬件存储器却是连续编址的, 也
就是说存储器单元是按一维线性排序的。
如何在一维存储器中存放二维数组, 可有两种方法:一种是按行排列, 即放完一行之后顺次放入
第二行。另一种是按列排列, 即放完一列之后在顺次放入第二列。在c语言中, 二维数组是按行排列的。


那么三维的如何排序呢?

二维数组元素的引用和初始化



void main()
{
int a[][] = {{, , },{, , },{,,},{,,},{,,}};
int i,j;
for (i=;i<=;i++)
{
for (j=;j<=;j++) //注意这里, 【3】就是三个值, 所以是0-2
{
printf("%d\n", a[i][j]);
}
//这个是得到每行的每个值,如果需要处理的话,需要第三个值 sum += a[i][j]
//如果需要得到每列的值呢,就for 2 for 4 a[1][1] , a[2][1]
}
}
二维数组的元素互换
将一个二维数组行和列元素互换, 存到另一个二维数组中。例如:
将数组a[2][3]转化为数组b[3][2]

void main()
{
int a[][] = {{, , },{, , }};
int b[][], i, j;
for (i=;i<=;i++)
{
for (j=;j<=;j++)
{
printf("%d", a[i][j]);
b[j][i] = a[i][j];
}
printf("\n");
}
printf("-------------");
for (i=;i<=;i++)
{
for (j=;j<=;j++)
{
printf("%d", b[i][j]);
}
printf("\n");
}
}

c数组的更多相关文章
- javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...
- 探究javascript对象和数组的异同,及函数变量缓存技巧
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...
- 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)
建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...
- 了解PHP中的Array数组和foreach
1. 了解数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.详细的解释可参见:PHP.net中的Array数组 . 2.例子:一般的数组 这里,我 ...
- JavaScript权威指南 - 数组
JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...
- JavaScript常见的五种数组去重的方式
▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 先来建立一个数组 var arr = [1,2,3,3,2,'我','我',34,'我的',NaN,NaN ...
- js:给定两个数组,如何判断他们的相对应下标的元素类型是一样的
题目: 给Array对象原型上添加一个sameStructureAs方法,该方法接收一个任意类型的参数,要求返回当前数组与传入参数数组(假定是)相对应下标的元素类型是否一致. 假设已经写好了Array ...
- javascript数组查重方法总结
文章参考地址:http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 题目 对下列数组去重: var arr = ['aa', ...
- 掌握javascript中的最基础数据结构-----数组
这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript ...
- 小兔JS教程(四)-- 彻底攻略JS数组
在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...
随机推荐
- Web Component探索
概述 各种网站往往需要一些相同的模块,比如日历.调色板等等,这种模块就被称为“组件”(component).Web Component就是网页组件式开发的技术规范. 采用组件进行网站开发,有很多优点. ...
- 从头认识java-15.7 Map(5)-介绍HashMap的工作原理-Key变了,能不能get出原来的value?(偶尔作为面试题)
这一章节我们讨论一个比較特殊的情况Key变了,能不能get出原来的value? 答案是:有时能够,有时不能够 1.能够的情况: package com.ray.ch14; import java.ut ...
- 自定义Django中间件(登录验证中间件实例)
前戏 我们在前面的课程中已经学会了给视图函数加装饰器来判断是用户是否登录,把没有登录的用户请求跳转到登录页面.我们通过给几个特定视图函数加装饰器实现了这个需求.但是以后添加的视图函数可能也需要加上装饰 ...
- 行为类模式(九):策略(Strategy)
定义 针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换.策略模式使得算法可以在不影响到客户端的情况下发生变化. UML 优点 策略模式提供了管理相关的算法族的办法.策 ...
- 正确使用 Volatile 变量
Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”:与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少, ...
- Gartner:2018人工智能技术成熟度曲线
https://www.secrss.com/articles/4392 人工智能被广为关注,但是一些想法恐难达到预期.本成熟度曲线将追踪AI基本趋势和未来创新,以确定人工智能技术发展的范围.状态.价 ...
- Python args **kwargs作用
python当函数的参数不确定时,可以使用*args和**kwargs,*args用于捕获所有no keyword参数,它是一个tuple.**kwargs捕获所有keyword参数,它是一个dict ...
- http.ResponseWriter的Flush
func handle(res http.ResponseWriter, req *http.Request) { fmt.Fprintf(res, "sending first line ...
- Asp.Net上传大文件带进度条swfupload
Asp.Net基于swfupload上传大文件带进度条百分比显示,漂亮大气上档次,大文件无压力,先看效果 一.上传效果图 1.上传前界面:图片不喜欢可以自己换 2.上传中界面:百分比显示 3.上传后返 ...
- vue2.0如何自定义全局变量的方法
方法一:http://www.jianshu.com/p/04dffe7a6b74 //在mian.js中写入函数 Vue.prototype.changeData = function (){ al ...