目录:

一:定义

二:声明数组

三:初始化数组

数组赋值的区别

四:二维数组

五:多维数组

六:传递数组给函数

1.方式 一

2.方式 二

3.方式 三

七:从函数返回数组

八:指向数组的指针

来自:


一:定义

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素顺序集合

数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量

二:声明数组

需要指定元素的类型和元素的数量

arraySize 必须是一个大于零的整数常量

type 可以是任意有效的 C 数据类型

type arrayName [ arraySize ];

三:初始化数组

您可以逐个初始化数组,也可以使用一个初始化语句

大括号 { } 之间的值的数目不能大于我们在数组声明时在方括号 [ ] 中指定的元素数目

如果您省略掉了数组的大小,数组的大小则为初始化时元素的个数

 只能给元素逐个赋值,不能给数组整体赋值

数组赋值的区别

char a[]="runoob"; // 这样赋值之后在结尾会自动加上'\0'。char a1[]={'r','u','n','o','o','b'}; // 这样赋值是整整好好的6个空间不会自动加上
<span class="marked">\0</span>。

所以比较的话,a 的长度比 a1 的要大 

四:二维数组

多维数组最简单的形式是二维数组

在本质上,是一个一维数组的列表

声明一个 x 行 y 列的二维整型数组

type arrayName [ x ][ y ];

二维数组可以被认为是一个带有 x 行和 y 列的表格

二维数组存放字符串读取时当一维数组使用

二维数组在逻辑上是方阵,由行和列组成

但是二维数组在物理上线性的按行依次进行存放,内存是连续的

将二维数组当作参数的时候,必须指明所有维数大小或者省略第一维的,但是不能省略第二维或者更高维的大小

int x[3][4];

五:多维数组

type name[size1][size2]...[sizeN];

六:传递数组给函数

1.方式 一

形式参数是一个指针

void myFunction(int *param)
{
.
.
.
}

2.方式 二

形式参数是一个已定义大小的数组

void myFunction(int param[10])
{
.
.
.
}

3.方式 三

形式参数是一个未定义大小的数组

void myFunction(int param[])
{
.
.
.
}

七:从函数返回数组

C 语言不允许返回一个完整的数组作为函数的参数

但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针

如果您想要从函数返回一个一维数组,您必须声明一个返回指针的函数

C 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量

int * myFunction()
{
.
.
.
}

八:指向数组的指针

数组名是一个指向数组中第一个元素常量指针

double balance[50];

balance 是一个指向 &balance[0] 的指针

即数组 balance 的第一个元素的地址

因此,下面的程序片段把 p 赋值为 balance 的第一个元素的地址:

double *p;
double balance[10];p = balance;

来自:

概念 描述
多维数组 C 支持多维数组。多维数组最简单的形式是二维数组。
传递数组给函数 您可以通过指定不带索引的数组名称来给函数传递一个指向数组的指针。
从函数返回数组 C 允许从函数返回数组。
指向数组的指针 您可以通过指定不带索引的数组名称来生成一个指向数组中第一个元素的指针。

C语言——数组定义及用法相关推荐

  1. 五个数字从小到大排序java,五个数冒泡排序 用c语言数组定义5个数使用冒泡排序 从小到大...

    任意输入5个整数,利用冒泡排序法排序(从大到小) #include main() { int a[6]; /*定义一个整型数组.*/ int i,j,temp; /*定义循环变量和中间变量. 用jav ...

  2. android object数组赋值_Java对象数组定义与用法详解

    本文实例讲述了Java对象数组定义与用法.分享给大家供大家参考,具体如下: 所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据 ...

  3. C语言 数组定义和使用 - C语言零基础入门教程

    目录 一.数组简介 二.定义数组并初始化 1.定义数组 2.初始化数组 三.访问数组 四.修改数组 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言 ...

  4. java 对象数组定义_Java对象数组定义与用法详解

    本文实例讲述了Java对象数组定义与用法.分享给大家供大家参考,具体如下: 所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据 ...

  5. c语言数组定义(详细)

    数组: 什么是数组:变量的组合,是一种定义变量的手段. 定义:类型 数组名[数量]; 数组定义后,默认值同样不确定,因此也需要初始化. int arr[5] <==> int num1,n ...

  6. c语言 宏定义 宏用法

    目录 #define  标识符  常量 1.#if系列用法 2.#ifdef用法 3.#ifndef用法 4.#error用法 #define  标识符  常量 C语言中,可以用 #define 定义 ...

  7. 根据c语言数组定义填写下表,C语言程序设计 自测题(三)

    { n++; if(n%3!=0)  continue; k--; } printf("%d,%d/n",k,n); } 程序运行后的输出结果是______. A.1,1 B.2, ...

  8. c语言 数组定义 符号常量定义

    1在定义语句中用一个初始值列表来初始化一个数组: #include<stdlib.h> #include<stdio.h> int main () {int a[5]={34, ...

  9. swift语言 数组定义_Swift3中数组创建方法

    转载自:http://blog.csdn.net/bwf_erg/article/details/70858865 数组是由一组类型相同的元素构成的有序数据集合.数组中的集合元素是有 序的,而且可以重 ...

最新文章

  1. JS 函数 函数递归
  2. Gradle学习之基础篇
  3. 【杂谈】当前模型剪枝有哪些可用的开源工具?
  4. getbean方法找不到bean_?找不到产品卖点?你需要这些方法!
  5. Jquery中获取表单提交时不确认个数元素的个数与值的方法
  6. OSChina 周三乱弹 —— 爸爸说,这个是从他硬盘里掉出来的
  7. lodop转到其他html页面,Lodop实现打印功能
  8. Educational Codeforces Round 54 (Rated for Div. 2): D. Edge Deletion(最短路树)
  9. 【CF585-div2:D】Ticket Game(博弈)
  10. android jni javah,JAVAH找不到类(android ndk)
  11. wordpress连接mysql数据库_wordpress远程连接mysql数据库方法
  12. Docker概述(一)(标贝科技)
  13. TotalCommander常用操作
  14. 跟着团子学SAP PS—项目结算规则的自动生成 CJB2/CJB1 (ETO模式下正确结算规则设定案例)
  15. MES系统对注塑行业的帮助
  16. nodejs服务器与服务器之间通讯问题(nodejs服务器端创建客户端)
  17. Go Module使用 六大场景讲解示例
  18. ubuntu16.04 安装VScode
  19. 独家微信域名封杀检测接口
  20. 单个应用流量统计实现和核对

热门文章

  1. RSS是什么意思?(转)
  2. 如何对接好线上支付?
  3. I - 母牛哥与子序列 所有非空子集的乘积之和 数学结论题
  4. cmd中XX不是不是内部或外部命令,也不是可运行的程序 或批处理文件
  5. 又是一年推gal季(牛客OI周赛5-提高组)
  6. 2019年研究生入学考试北京理工大学计算机专业基础813真题回忆
  7. 学校电脑的无语配置%¥3
  8. 常用增强学习实验环境 II (ViZDoom, Roboschool, TensorFlow Agents, ELF, Coach等)
  9. 数据结构入门----遍历二叉树和线索二叉树
  10. 友元 异常 RTTI 类型转换符