C语言 数组(做个笔记)
1,定义数组
(1)普通定义
<类型>变量名称[元素数量]
int grade[100]
double a[20]
(1)元素数量
(2)集成初始化定义
a={1,2,3,4,5,8,9,} //最后一个逗号无影响
数组大小编译器自己计算
a[4]={1} // [1,0,0,0]
给定数组大小,其余部分补0
2,数组特点
(1)所有元素类型相同
(2)数组被定义后,大小不能更改
(3)下标从0开始,最大下标为 ‘元素数量-1’
(4)字符可以作下标,ASCII码是数字 a['K']=1
(5)[ ]内是 常量或符合常量
int a[0]; //可以创建数量为0的数组,但没有什么卵用
3,数组大小计算
sizeof:给出整个数组所占据的内容大小。 单位:字节
sizeof(a)/sizeof(a[0])
//a是数组变量,先求出整个数组大小,再求出单个元素大小。相除即可
4,数组赋值
//a是数组变量
int b[]=a (X)
(1)数组本身不能被赋值 (2)一个数组不能把所有元素交给另一个数组,需遍历
5,遍历易错点
(1)小于等于数组本身大小
(2)离开循环后,仍使用循环变量作为数组下标
6,函数
//a是数组变量
形参(int a[],int length)实参(a,sizeof(a)/sizeof(a[0]))
(1)数组做参数时,不能在[ ]中给出大小(以后解释)
(2)数组做参数时,不能利用sizeof计算大小(以后解释)
7,静态和动态数组
static int b[5]={1,2,3}
//只对前三个元素赋值,其余为0
int a[5]={1,2,3}
//只对前三个元素赋值,其余为不确定
8,二维数组、
(1)定义
类型名 数组名 [行长度][列长度]
a[i,j] 等价于 a[ j ]
(2)初始化
1.分行赋初值
类型名 数组名 [ 行长度 ][ 列长度 ]={ {初值表1},{初值表2},{初值表3}...... }
int a[2][2]={{1,2},{3,4}}[1,23,4]static int a[3][3]={{1,2,3},{},{4,5,6}}[1,2,30,0,04,5,6] 空缺处补0
int a[ ][列长度]={ {初值表1},{初值表2},{初值表3}...... }
行数编译器会自动算出,列数必须写上
2.顺序赋初值
类型名 数组名 [ 行长度 ][ 列长度 ]={ 初值表 }
//按顺序把值赋予数组里面
int a[2][2]={1,2,3,4}
9,其他
1. int N=5, b[N][N]; 定义是正确的
2.假定int类型变量占用两个字节,其有定义:int x[10]={0, 2, 4}; 则数组x在内存中所占字节数是(D)
A.6
B.3
C.10
D.20
定义了10个整形大小。所以 是10*2.
C语言 数组(做个笔记)相关推荐
- C语言程序设计做题笔记之C语言基础知识(下)
C 语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行 事.并且C是相当灵活的,用于执行计算机程序能完成的 ...
- C语言多维数组做函数参数技术推演
多维数组做函数参数技术 C语言中只会以机械式的值拷贝的方式传递参数(实参把值传给形参) 二维数组参数同样存在退化的问题 等价关系 C语言中只会以机械式的值拷贝的方式传递参数(实参把值传给形参) int ...
- C语言编程基础-10函数形参数组做形参文件操作
函数形参 被调函数的形参在被调用时临时创建并使用实参对其赋值,故直接修改形参(特殊形式的形参如指针,数组除外)本身只会影响到被调函数内部; 形式参数是在函数调用发生时临时创建出来的,在函数调用结束时又 ...
- C语言指针(就做个笔记)
一.取地址运算 1.sizeof()函数 用于求 变量或数据类型所占字节数 #include <stdio.h> int main(){int num_1,num_2,a;a=2;num_ ...
- C语言-二维数组做函数的参数
文章目录 1 引例 2 观点1 这种使用方法是错误的 3 观点2 根本不需要这么做 4 二维数组做函数参数的方法 4.1 方法1 4.2 方法2 4.3 方法3 5 与Java的不同 1 引例 下面的 ...
- 【C 语言】数组 ( 多维数组做函数形参退化为指针过程 | int array[2][3] -> int array[][3] -> int (*array)[3] )
文章目录 一.多维数组做函数形参退化为指针过程 1.使用 int array[2][3] 作函数参数 2.使用 int array[][3] 作函数参数 3.使用 int (*array)[3] 作函 ...
- C语言多维数组做函数参数退化原因大剖析
多维数组做函数参数退化原因 多维数组做函数参数退化原因大剖析 多维数组做函数参数退化原因大剖析 //证明一下多维数组的线性存储 //线性打印 void printfArray411(int *arra ...
- C语言中数组做函数参数的问题
数组做函数参数,会退化成为一个指针变量.因此在进行数组参数传递的同时,需要传递一个数组长度的参数变量. 数组长度可以通过sizeof(arr)/siezof(arr[0])来得到.关于这个sizeof ...
- 终于学会数组的使用啦~~~------C语言数组学习笔记详解
本篇文章是对C语言数组内容的学习,将为初学数组的小伙伴们详细剖析数组,相信大家一定可以有所收获,接下来让我们一起学习吧!
最新文章
- [HNOI2019]JOJO
- 皮一皮:能到大四也是不容易了...
- Jenkins环境搭建(2)-搭建jmeter+ant+jenkins自动化测试环境
- Windows 中的环境变量 Path 与 XXXX_HOME 的区别
- Mybatis逆向工程的pojo实现序列化接口代码
- 1-springboot基础
- Linux中五种压缩命令
- 2019梅江(天津)年货展销会启幕
- 【AD18】原理图生成PDF
- 1.13 08特殊日历计算
- msl3等级烘烤时间_MSL等级说明
- 微信公众号获取的实时坐标和高德地图坐标系的转换
- mysql更改date为ym_关于日期格式设置及转换
- 雷达的工作原理示意图_倒车雷达的工作原理是什么 倒车雷达原理图
- 5个一见钟情的手机APP软件 使用过后必须赞赞赞
- 企业如何使用商业智能(BI)进行数据赋能?
- SQL 行转列 和 列转行 整理
- 大数据与企业的数据化运营
- 讲讲机器视觉引导类有关应用总结(包括标定)
- jQuery带背景切换登录注册表单
热门文章
- GOF23设计模式(创建型模式)建造者模式
- 英特尔内存革新助平安云 Redis 云服务降本增效
- H.265视频编码与技术全析(上)
- f是一个python内部变量类型,Python基础变量类型——List浅析
- HarmonyOS 修改App 的name
- Caused by: org.gradle.api.InvalidUserDataException: NDK not configured
- public static final int REMIN_REQUEST_CODE = 0x911 自己的大致理解
- kdd cup 2019
- canvas绘制的文字如何换行
- SQL SERVER 函数ROW_NUMBER() 应用