博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c数组
阅读量:4465 次
发布时间:2019-06-08

本文共 1589 字,大约阅读时间需要 5 分钟。

一维数组

有三种赋值方式

1.原始的赋值

 

2. 初始化赋值

 

3.动态赋值

数组的花式玩法

void main(){    int a[10] = {
2, 4, 6, 8, 10, 12, 14, 16, 18, 20}; test(a); putchar('\n');}void test(int b[10]){ int i = 0; for(; i<10; i++) { printf("%d ", b[i]); }}// 是不是和python的有点类似啊, a就是变量地址, 传的是引用,哈哈

 

 二维数组

二维数组定义的一般形式为

类型说明符     数组名 【常量表达式】 【常量表达式】

例如: 定义a为3 x 4(3行4列)的数组, b为5x10的数组  如下:

float a【3】【4】, b【5】【10】;

分割线:

--------------------------------------------

例如:

int a[3][4];

说明了一个三行四列的数组, 数组名为a, 其下标变量的类型为整型。

该数组的下标变量共有3x4个,感觉与python的numpy的模块很像

二维数组的定义:

二维数组在概念上是二维的,但是,实际的硬件存储器却是连续编址的, 也

就是说存储器单元是按一维线性排序的。

如何在一维存储器中存放二维数组, 可有两种方法:一种是按行排列, 即放完一行之后顺次放入

第二行。另一种是按列排列, 即放完一列之后在顺次放入第二列。在c语言中, 二维数组是按行排列的。

 

那么三维的如何排序呢?

 

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

 

 

void main(){    int a[5][3] = {
{
1, 2, 3},{
4, 5, 6},{
6,7,8},{
9,10,11},{
12,13,14}}; int i,j; for (i=0;i<=4;i++) { for (j=0;j<=2;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[2][3] = {
{
1, 2, 3},{
4, 5, 6}}; int b[3][2], i, j; for (i=0;i<=1;i++) { for (j=0;j<=2;j++) { printf("%d", a[i][j]); b[j][i] = a[i][j]; } printf("\n"); } printf("-------------"); for (i=0;i<=2;i++) { for (j=0;j<=1;j++) { printf("%d", b[i][j]); } printf("\n"); }}

 

 

 

转载于:https://www.cnblogs.com/renfanzi/p/6661665.html

你可能感兴趣的文章
对Netflix Ribbon的Loadbalancer类源码设计合理性的一点质疑
查看>>
关于日历的算法
查看>>
[QT编程]QT实现的一个渐隐渐显窗体
查看>>
在Web工程中引入Jquery插件报错解决方案
查看>>
用myEclipse连接数据源生成动态数据报表
查看>>
[myeclipse]@override报错问题
查看>>
자주 쓰이는 정규표현식
查看>>
超简单的listview单选模式SingleMode(自定义listview item)
查看>>
HDU 1199 - Color the Ball 离散化
查看>>
[SCOI2005]骑士精神
查看>>
Hibernate原理解析-Hibernate中实体的状态
查看>>
六时车主 App 隐私政策
查看>>
C语言常见问题 如何用Visual Studio编写C语言程序测试
查看>>
Web用户的身份验证及WebApi权限验证流程的设计和实现
查看>>
hdu 2098 分拆素数和
查看>>
ECMAScript6-let与const命令详解
查看>>
iOS 使用系统相机、相册显示中文
查看>>
什么是敏捷设计
查看>>
SCSS的基本操作
查看>>
"安装程序无法定位现有系统分区" 问题解决
查看>>