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 ...
随机推荐
- C语言:存取结构体成员的点运算符(.)和箭头运算符(->)的区别
转自:http://blog.csdn.net/taric_ma/article/details/7397362 一直以为这两个是没有什么区别的,可以相互替换,今天又翻了一下<C语言核心技术&g ...
- 逆向project实战--Acid burn
0x00 序言 这是第二次破解 crackme 小程序,感觉明显比第一次熟练.破解过程非常顺利,差点儿是分分钟就能够找到正确的 serial,可是我们的目标是破解计算过程.以下将具体介绍. 0x01 ...
- 乐观锁的一种实现方式—CAS
线程安全 众所周知,Java是多线程的.但是,Java对多线程的支持其实是一把双刃剑.一旦涉及到多个线程操作共享资源的情况时,处理不好就可能产生线程安全问题.线程安全性可能是非常复杂的,在没有充足的同 ...
- [SQL in Azure] Tutorial: AlwaysOn Availability Groups in Azure (GUI)
http://msdn.microsoft.com/en-us/library/azure/dn249504.aspx Tutorial: AlwaysOn Availability Groups i ...
- Swift 开发中,为什么要远离 Heap?
Swift 开发中,为什么要远离 Heap? WWDC的视频 — Understanding Swift Performance 中,苹果上来就说,Heap 的操作复杂度要远远超越 Stack.所以大 ...
- Android 支付宝接口调用
在近期,公司需要开发一个关于在线支付的模块,所以需要用到第三方支付平台 转载请注明出处:http://blog.csdn.net/ht_android/article/details/45307165 ...
- 使用httpclient下载 页面、图片
代码 import java.io.IOException; import java.io.UnsupportedEncodingException; import org.apache.http.c ...
- 【转】更改 shell 终端的默认键绑定为 vi 模式
我们使用的 shell 终端是 bash,它的默认键绑定方式是 emacs 模式.比如键入 Ctrl+a 光标会停在行首,Ctrl+e 光标会停在行尾等等. 如果希望在终端输入时使用 vi 的模式,比 ...
- 轻量级Modal模态框插件cta.js
今天给大家分享一款轻量级Modal模态框插件cta.js.这是一款无需使用jQuery插件,纯js编写的模态框弹出特效.效果图如下: 在线预览 源码下载 实现的代码. html代码: <se ...
- docker探索-docker容器基本操作(五)
1.创建一个容器并启动 1.1.docker hello word Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序. 输出Hello world ...