C语言 一维数组

一维数组

1.一维数组的定义

* 定义的形式为:类型  数组名[元素个数]

int a[5];

* []只能放在数组名的后面,下面的都是错误写法:

int[5] a; // 错误
int[] b; // 错误

* []里面的个数必须是一个固定值,可以是常量(比如6、8)、常量表达式(比如3+4、5*7)。绝对不能使用变量或者变量表达式来表示元素个数,大多数情况下不要省略元素个数(当数组作为函数的形参和数组初始化时除外)

下面的都是正确写法:

int  a[5];   // 整型常量
int  b[‘A‘];  // 字符常量,其实就是65
int  c[3*4];  // 整型常量表达式

下面的都是错误写法:

int a[]; // 没有指定元素个数,错误

int i = 9;
int a[i]; // 用变量做元素个数,错误

2.一维数组的初始化

  2.1在定义时初始化

int  arr[3] = {1,,2,3};

  2.2先定义后赋值

int arr[3];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;

  2.3错误做法

int arr[3];
arr = {1,2,3};//因为arr为地址,是一个常量,常量是不可以再赋值的,比如 10=8;这是错的

  

3.一维数组的存储

定义数组时,系统将按照数组类型和个数分配一段连续的存储空间来存储数组元素。要注意的是,数组名代表着整个数组的地址,也就是数组的起始地址。

例如  char arr[3] = {‘A‘,‘B‘,‘C‘};

内存中分配 如下

地址         数组    存储内容

0x1101      arr[0]    A

0x1102      arr[1]    B

0x1103      arr[2]    C

即 arr的内存地址为arr 或者为 &arr[0] = 0x1101

时间: 2024-11-05 14:55:44

C语言 一维数组的相关文章

C语言一维数组、二维数组、结构体的初始化

C语言数组的初始化表示方法 一.C语言一维数组初始化: (1)在定义数组时对数组元素赋以初值.如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 经过上面的定义和初始化后,a[0]=0,a[1]=1,… ,a[9]=9. (2)初始化时可以只对一部分元素赋初值.例如: static int a[10]={0,1,2,3,4}; 定义的数组有10个元素,但只对其中前5个元素赋了初值,后5个元素初值为0. (3)将数组的元素值全部为0,可以用下面的方法:(方法一)

C语言--一维数组,字符数组

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { #pragma mark----------数组 //数组是容器,相同数据类型 //构造类型 // int a[3]={5,2,0}; //类型 // int[3]; //变量名 // a; //初值 // {5,2,0}; // int a[4] = {9,8,7,6}; // float b[6] = {2.5,3.14}; // char

C语言一维数组初步学习笔记

数组 可以存储一组或者多组数值的变量,里面包含多个元素,数组的每个成员都是一个数组元素. 一维数组 定义:类型 数组名[常量表达式] = {值1, 值2, 值3…}; ? 1 2 3 4 int a[3] = {0, 1, 2}; float f[2] = {1.2, 2.3, 3.14}; char str[] = {'h', 'e', 'l', 'l', 'o'}; chat str1 = "iPhone";//这也是定义字符数组的方法,字符数组后面会详细讲解,这里先了解一下 当数

13-黑马程序员------C 语言学习笔记--- C语言一维数组

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 四 简单构造数据类型 一 一维数组 01 一维数组的定义: 类型标识符 数组名[常量表达式]; 如:int a[10];其表示定义了一个名为a的整型数组,该数组共有10个元素,即10个整型变量,可以储存10个整型数据. 02 类

c语言一维数组做参数传递给函数:

今天碰到了一维数组做函数参数的问题,那就扒一扒这个问题: 首先抛结论: 1:C语言中,当一维数组做函数参数时,编译器总是把它解析成一个指向其首元素的指针. 2:实际传递的数组大小与函数形参指定的数组大小没有关系. 然后举例说明: 下面是一个元素交换函数,把数组array[i]和array[j]交换位置.注意看数组是怎么传递给函数的. 正确的写法1: 解释说明:编译器把array解析成指向整形元素的指针,也就是数组的首地址,方括号中加不加指定数字都可以,因为编译器根本不看,因此最好不写,以免引起误

【C语言疯狂讲义】(八)C语言一维数组

1.数组的基本概念: 相同类型    若干个     有序 由若干个相同类型的数据组成的有序的集合 有序:存储地址连续 下标连续 数组名:用来存放数组首地址的变量 数组元素:构成数组的每一个数据 数组的下标:给数组的每一个元素做一个编号 数组的长度:构成数组的数据的个数 2.一维数组的定义 数组的使用的流程:先定义   ---> 初始化   --->使用 数组定义完成后,如果不初始化里面存放的时垃圾值 格式:int arr[10]; 定义长度为10的整型数组,每个都是Int型的,数组的名称 a

C语言--一维数组和多维数组数组名的含义

一.一维数组 对于一维数组,我们很容易理解数组名和元素地址的关系,即数组名代表数组首地址,亦即第一个元素的地址. 如定义数组int a[9]={1,2,3,4,5,6,7,8,9},则由上面的说明可得 a=&a[0],*a=a[0]: a+1=&a[1],*(a+1)=a[1]: ......... 二.二维数组 对于二维数组,我们一定要记住:它是数组的数组.如定义一个二维数组int b[3][4]={1,2,3,4,5,6,7,8,9,10,11,12},此时我们知道,可以把b看做是一个

【C语言】-指向一维数组元素的指针

本文目录 一.用指针指向一维数组的元素 二.用指针遍历数组元素 三.指针与数组的总结 四.数组.指针与函数参数 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能够快速上手C语言.如果你还没有编程经验,或者对C语言.iOS开发不感兴趣,请忽略 前面我们已经学习了指针,如果指针存储了某个变量的地址,我们就可以说指针指向这个变量.数组及其数组元素都占有存储空间,都有自己的地址,因此指针变量可以指向整个数组,也可以指向数组元素. 回到顶部 一.用指针指向一维数组的

c语言操作一维数组-3

C语言选择题#includemain(){double a[15],k;k=fun(a);} 则以下选项中错误的fun函数首部是 ( D)A.double fun(double a[15]) B.double fun(double *a)C.double fun(double a[]) D.double fun(double a)------------------------------------------------ http://blog.csdn.net/jin13277480598