数组 函数

缓冲区

方式一

循环读取缓冲区字符

方式二

+

goto 语句

跳转至指令标签处执行(可实现一个类while语句循环语句)


数组(内存中开辟连续空间相同数据类型)

保存数据较多时,为便于保存,常使用数组(把一组相同类型的数存储起来,可以保存多个值)

数组也是一个变量,只不过是一个可以保存多个相同数据类型的变量

和变量相同,先声明再使用

数据类型  变量名[];

int arr[10];

含义:变量名为arr的数组可保存10个int类型的值

声明变量的真正意义是在内存中开辟空间

int a=10;在内存中开辟4字节空间,用来保存10

int arr[10];

在内存中开辟40个字节空间,并且是连续存储的,用来保存10个int类型的值

默认数组中每个值都为0

初始化数组

方式一:可以在声明数组变量时同时进行初始化,值与值之间逗号分隔

int arr[10]={1,2,3,4,5,6,7,8,9,10};

方式二:可以在声明变量时同时进行初始化

int arr[]={1,2,3,4,5,6,7,8,10};

数组中声明了九个变量的值

方式三:可以在声明变量时同时进行部分初始化

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

数组中声明前三个值分别为1,2,3

如何在内存中获取数组中的元素

可以通过别名来获取,数组中每个值也有别名,为方便获取数组中的值,对数组中的内容进行编号(索引)从0开始

别名   arr[0],arr[1],arr[2]   数组名加索引

数组名arr  数组中的值称元素

数据类型 数组名[元素数]={表达式1,表达式2,表达式3....}

获取数组中值的个数

size =sizeof(arr)/sizeof[arr[0]]

如何修改数组中元素的值

数组名[索引]=表达式

不能删除数组中的元素,一旦数组创建大小固定,不能改变

数组中元素的个数一定是一个无符号整型常量

具有常属性的变量也是一个变量,数组名一定是一个常量

运行时报错误,内存问题

字符串:多个字符

在C语言中使用字符数组来保存字符串

char name[]={"jack"}  size = 5 字符串最后会加一个结尾标识\0

char name[]="jack" 5字节

char name[256]={"jack"};

char name[]={'j','a','c','k','\0'}; 5字节

%s在打印时遇到\0结束打印

在计算size[分配空间的大小]时,sizeof运算符,包含\0

在计算字符串长度时,#include <strling>strlen()函数,不能包含\0;

char name[256]={0};

将变量名去掉,剩下的就是类型

char [256]

数组名就是地址,在输入时不需要加地址符&

数组的应用

<1>冒泡排序(升序)

1 4 6 13 45 76 3 61 

采取规则;相邻元素进行比较,如果前面元素比后面元素大,就交换位置

第一轮 n-1

第二轮 n-2

......

第n-1轮 n- (n-1)=1

%-3d左对齐

控制每轮比较的次数(前面元素与后面元素比较)

二维数组

看作一维数组,只不过数组中的每个元素也是一个一维数组

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

int arr2[3]={4,5,6};

int arr3[3]={7,8,9};

int arr[3]={arr1,arr2,arr3};

int arr[3][3]={arr1,arr2,arr3};

二维数组对应的是一个平面图形

arr[1][1]

二维数组的声明

int arr[3][4];

double arr[10][10];

声明二维数组时同时进行初始化

int arr[3][3]={{1,2,3},{4,5,6}}

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

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

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

声明二维数组可以省略行号

int arr[][3]={{1,2},{4,5,6},{7,8}}

int arr[3][3]={1,2,3,4,5,6,7,8}

打印第一行第二列元素

int num = arr[1][2];

printf("%d",num);

打印所有行所有列

计算行数

rows=sizeof(arr[])/sizeof(arr[0])

字符二维数组

二维数组在内存中也是连续分配

二维数组的初始化

字符串

三维数组


函数


指针

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值