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 ...
随机推荐
- 15个Spring的核心注释示例
众所周知,Spring DI和Spring IOC是Spring Framework的核心概念.让我们从org.springframework.beans.factory.annotation和org ...
- 每日英语:The Invasion of the Online Tutors
It's a nightly dilemma in many households: A student hits a wall doing homework, and parents are too ...
- tensorflow笔记5:tensorflow的基本运作,函数
转载:https://blog.csdn.net/lenbow/article/details/52152766 1.tensorflow的基本运作 为了快速的熟悉TensorFlow编程,下面从一段 ...
- linux命令(39):shell 打印偶数行,奇数行 ,行号
awk 命令: 1. 打印行号和内容: awk '{print NR":"$0}' 2. 输出:偶数行和奇数行到文件 awk '{print $0.txt > NR%2.tx ...
- Silverlight-MEF-DEMO
“托管扩展性框架(Managed Extensibility Framework,简称MEF),是微软.NET框架下为提高应用和组件复用程度而推出的,用于使组件能够最大化的重用.使用MEF能够使静态编 ...
- CSAPP 读书笔记 - 2.31练习题
根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1) 属于第一种情况 sum = x ...
- vs2015配置OpenGL开发环境
先吐槽下,不知道微软怎么整的,从win7开始,OpenGL的头文件更改到windows SDK中,不安装就不能用. 更搞笑的是,在win10下,vs2015安装还报win sdk安装失败,这典型的自己 ...
- 在IIS7上部署aspx网站
在IIS7上部署aspx网站 2016-12-06 1 示例代码 WebForm.aspx内容: <html> <head> <script language=" ...
- 2. 决策树(Decision Tree)-ID3、C4.5、CART比较
1. 决策树(Decision Tree)-决策树原理 2. 决策树(Decision Tree)-ID3.C4.5.CART比较 1. 前言 上文决策树(Decision Tree)1-决策树原理介 ...
- python-标识符(Identifiers)和关键字(keywords)
标识符:Identifiers 标识符必须以字母(大小写均可)或者"_"开头,接下来可以重复0到多次(字母|数字|"_") 特点: 1.没有长度限制 2.区分大 ...