上一篇我们介绍了一个满好用的函式库,只要知道怎麽使用math.h的很多函式,都可以在我们需要数学运算时帮上很大的忙。
今天我们来介绍一下Array吧!
还记得第五篇我们有提到资料型态像是不同大小的盒子,而第六篇我们谈到变数就像被写上标签的盒子,可以存放资料内容,等待我们需要的时候就能呼叫变数做任何处理。
那array又是什麽样的概念呢?
array的中文翻译会叫他阵列,如果说变数是有特定大小(资料型态决定)的盒子,那array就像一栋拥有同样大小且叠再一起的盒子大楼,其中的每个盒子大小都是一致的,而各自的盒子(不同楼层)又可以存放不同的资料。
如下图这个样子:
而array的index编号(可以想像成楼层编号)则是由0.1.2.3等持续往後编,所以如果阵列大小(总楼层数)是8,编上楼层的话会长这样:
以下面这段程序码为例:
int arr[] = {1,2,3,4,5,6,7,8};
阵列arr的资料内容对应index(楼层编号)如下:
我们前面大概介绍了阵列是什麽东西,接下来我们来介绍一下怎麽使用吧!
(1) 只给予阵列大小
int arr[10];
(2) 不给阵列大小,但直接赋值
int arr[] = {1,2,3,4,5,6,7,8};
(3) 给予阵列大小、赋值
int arr[5] = {1,2,3,4,5};
(1) 阵列内的资料内容
如以下:
arr[2] = 777;
(2) 实际应用
#include <stdio.h>
int main(){
int arr[]={1,2,3,4,5,6,7,8};
printf("data of arr\n\n");
printf("index 0: %d\n", arr[0]);
printf("index 1: %d\n", arr[1]);
printf("index 2: %d\n", arr[2]);
printf("index 3: %d\n", arr[3]);
printf("index 4: %d\n", arr[4]);
printf("index 5: %d\n", arr[5]);
printf("index 6: %d\n", arr[6]);
printf("index 7: %d\n", arr[7]);
printf("------\n\n");
arr[2] = 777;
printf("data of arr\n\n");
printf("index 0: %d\n", arr[0]);
printf("index 1: %d\n", arr[1]);
printf("index 2: %d\n", arr[2]);
printf("index 3: %d\n", arr[3]);
printf("index 4: %d\n", arr[4]);
printf("index 5: %d\n", arr[5]);
printf("index 6: %d\n", arr[6]);
printf("index 7: %d\n", arr[7]);
printf("------\n\n");
arr[2] = arr[2]-111;
printf("data of arr\n\n");
printf("index 0: %d\n", arr[0]);
printf("index 1: %d\n", arr[1]);
printf("index 2: %d\n", arr[2]);
printf("index 3: %d\n", arr[3]);
printf("index 4: %d\n", arr[4]);
printf("index 5: %d\n", arr[5]);
printf("index 6: %d\n", arr[6]);
printf("index 7: %d\n", arr[7]);
return 0;
}
变数名称使用时会直接代表其资料内容,要找到变数地址时还需使用到「&」,但阵列名称所代表的并不是阵列的资料内容,而是阵列地址本身,所以当你想要printf array时,并不会依序列印出array的资料内容。
#include <stdio.h>
int main(){
int data = 5;
int arr[] = {1,2,3,4,5};
printf("data: %d\n", data);
printf("address of data: %p\n", &data);
printf("arr : %p\n", arr);
return 0;
}
int arr[10];
int arr[]={1,2,3,4,5,6,7};
int arr[5]={1,2,3,4,5};
阵列的index由0开始依序往後
使用阵列内的资料内容时须以特定格式
arr[2] = 777;
#include <stdio.h>
int main(){
int data = 5;
int arr[] = {1,2,3,4,5};
printf("data: %d\n", data);
printf("address of data: %p\n", &data);
printf("arr : %p\n", arr);
return 0;
}
<<: 【从零开始的 C 语言笔记】第十二篇-Math 函式库介绍与应用
>>: 【从零开始的 C 语言笔记】第十四篇-Array介绍与应用(2)
路径绘制常令人感到疑惑的点 - 非零缠绕与奇偶规则 初学路径绘制的时候,大部分人应该会发现一种让人疑...
Day 1 看到许多统计,提到现在很多企业最需要的就是保障公司的资讯安全,其实个人的资讯也是一样都是...
一晃眼,铁人赛就进入了尾声,先前一直说有时间要来写Shioaji的,总是不能食言。我想就用最後两篇的...
域名劫持又称作域名污染 英文有多种称呼方式: DNS hijacking DNS poisoning...
某些较耗时的工作像是寄信、发通知等,如果卡在处理请求的过程中的话就会造成使用者要多等上数秒才能收到回...