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语言 数组(做个笔记)相关推荐

  1. C语言程序设计做题笔记之C语言基础知识(下)

    C 语言是一种功能强大.简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务.我们可以利用C语言创建程序(即一组指令),并让计算机依指令行 事.并且C是相当灵活的,用于执行计算机程序能完成的 ...

  2. C语言多维数组做函数参数技术推演

    多维数组做函数参数技术 C语言中只会以机械式的值拷贝的方式传递参数(实参把值传给形参) 二维数组参数同样存在退化的问题 等价关系 C语言中只会以机械式的值拷贝的方式传递参数(实参把值传给形参) int ...

  3. C语言编程基础-10函数形参数组做形参文件操作

    函数形参 被调函数的形参在被调用时临时创建并使用实参对其赋值,故直接修改形参(特殊形式的形参如指针,数组除外)本身只会影响到被调函数内部; 形式参数是在函数调用发生时临时创建出来的,在函数调用结束时又 ...

  4. C语言指针(就做个笔记)

    一.取地址运算 1.sizeof()函数 用于求 变量或数据类型所占字节数 #include <stdio.h> int main(){int num_1,num_2,a;a=2;num_ ...

  5. C语言-二维数组做函数的参数

    文章目录 1 引例 2 观点1 这种使用方法是错误的 3 观点2 根本不需要这么做 4 二维数组做函数参数的方法 4.1 方法1 4.2 方法2 4.3 方法3 5 与Java的不同 1 引例 下面的 ...

  6. 【C 语言】数组 ( 多维数组做函数形参退化为指针过程 | int array[2][3] -> int array[][3] -> int (*array)[3] )

    文章目录 一.多维数组做函数形参退化为指针过程 1.使用 int array[2][3] 作函数参数 2.使用 int array[][3] 作函数参数 3.使用 int (*array)[3] 作函 ...

  7. C语言多维数组做函数参数退化原因大剖析

    多维数组做函数参数退化原因 多维数组做函数参数退化原因大剖析 多维数组做函数参数退化原因大剖析 //证明一下多维数组的线性存储 //线性打印 void printfArray411(int *arra ...

  8. C语言中数组做函数参数的问题

    数组做函数参数,会退化成为一个指针变量.因此在进行数组参数传递的同时,需要传递一个数组长度的参数变量. 数组长度可以通过sizeof(arr)/siezof(arr[0])来得到.关于这个sizeof ...

  9. 终于学会数组的使用啦~~~------C语言数组学习笔记详解

    本篇文章是对C语言数组内容的学习,将为初学数组的小伙伴们详细剖析数组,相信大家一定可以有所收获,接下来让我们一起学习吧!

最新文章

  1. [HNOI2019]JOJO
  2. 皮一皮:能到大四也是不容易了...
  3. Jenkins环境搭建(2)-搭建jmeter+ant+jenkins自动化测试环境
  4. Windows 中的环境变量 Path 与 XXXX_HOME 的区别
  5. Mybatis逆向工程的pojo实现序列化接口代码
  6. 1-springboot基础
  7. Linux中五种压缩命令
  8. 2019梅江(天津)年货展销会启幕
  9. 【AD18】原理图生成PDF
  10. 1.13 08特殊日历计算
  11. msl3等级烘烤时间_MSL等级说明
  12. 微信公众号获取的实时坐标和高德地图坐标系的转换
  13. mysql更改date为ym_关于日期格式设置及转换
  14. 雷达的工作原理示意图_倒车雷达的工作原理是什么 倒车雷达原理图
  15. 5个一见钟情的手机APP软件 使用过后必须赞赞赞
  16. 企业如何使用商业智能(BI)进行数据赋能?
  17. SQL 行转列 和 列转行 整理
  18. 大数据与企业的数据化运营
  19. 讲讲机器视觉引导类有关应用总结(包括标定)
  20. jQuery带背景切换登录注册表单

热门文章

  1. GOF23设计模式(创建型模式)建造者模式
  2. 英特尔内存革新助平安云 Redis 云服务降本增效
  3. H.265视频编码与技术全析(上)
  4. f是一个python内部变量类型,Python基础变量类型——List浅析
  5. HarmonyOS 修改App 的name
  6. Caused by: org.gradle.api.InvalidUserDataException: NDK not configured
  7. public static final int REMIN_REQUEST_CODE = 0x911 自己的大致理解
  8. kdd cup 2019
  9. canvas绘制的文字如何换行
  10. SQL SERVER 函数ROW_NUMBER() 应用