【C语言】数组

【C语言】数组1、什么是数组数组图示典型的复合类型:同一类型变量的连续内存组成的数据类型。数组定义时(没初始化),必须指定数组的大小(或长度),数组大小必须是整形常量表达式,不能是变量或变量表达式。下面定义数组错误的写法1. int n = 3;2. i

欢迎大家来到IT世界,在知识的湖畔探索吧!

1、什么是数组

【C语言】数组

数组图示

典型的复合类型:同一类型变量的连续内存组成的数据类型。数组定义时(没初始化),必须指定数组的大小(或长度),数组大小必须是整形常量表达式,不能是变量或变量表达式。

下面定义数组错误的写法

1. int n = 3;

2. int b[n];错误

3. int c[10.3];错误

(important)

#define m 4

Int d[m]; 正确 宏定义可以

Int e[] = {1,2,3,4} 这也是可以的,编译器会自动识别数组e的大小为4

一维数组在内存当中是连续的一段内存单元,首地址为数组名字 e == &e[0];

例如 int a[3] = {1,3,4};

数组下标从0开始,所以数组不能越界,只能取到a[2]的值

不能取到a[3]的值a + i 等价于 &a[i] *(a+i) = *&a[i] = a[i]

【C语言】数组

数组地址图示

#include <stdio.h> #define n 3 int main () { int a[n] = {1,3,4}; int i=0; //a 首地址 a+1,a+2, for(;i<n;i++) { printf("a[%d]的地址是:%p,&a[%d] = %p\n",i,a+i,i,&a[i]); } return 0; }

欢迎大家来到IT世界,在知识的湖畔探索吧!

求数组的长度

int len = sizeof(a) / sizeof(int);

int a[5] = {1,2,3};

数组大小为5,但是初始化只给了前三个值,后面的两个值默认被赋值为0

冒泡排序举例如下:

欢迎大家来到IT世界,在知识的湖畔探索吧!void bubbleSort(int a[],int length) { int i,j,temp = 0; for(i=1;i<length;i++) { for(j=0;j<length-i;j++) { if(a[j]>a[j+1]) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } }

选择排序如下:

void selectSort(int a[],int length) { int i,j,k,t; for(i=0;i<length;i++) { k = i; for(j = i+1;j<length;j++) { if(a[k]>a[j]) k = j; } if(i!=k) { t = a[i]; a[i] = a[k]; a[k] = t; } } } 

2、二维数组

int a[2][3] = {1,2,3,4,5,6}; 两行三列

【C语言】数组

逻辑视图

可以看出 二维数组在内存当中是以行存储的顺序存储方式

二维数组是特殊的一维数组

【C语言】数组

物理存储

初始化

Int a[][3] = {1,2,3,4};

代表列的数must不能省略

1

2

3

4

0

0

3、字符串与数组

‘a’ ‘\101’ = ‘A’(转义字符考察的比较多)

字符串是一种以’\0’结尾的字符数组

字符数组和字符串。

三个等价

char str[] = “china”;

char str[] = {‘c’,’h’,’I’,’n’,’a’,’\0’};

char str[] = {“china”}

字符串不能这样赋值

char str[] = {‘c’,’h’,’I’,’n’,’a’}; //not 字符串

这是一个数组,但不是字符串,没有’\0’结尾

char str[10];

str = “china”;

这样也不行,数组名字是数组的首地址,不能赋值

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/77504.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信