首页 > 其他分享 >无涯教程-C语言 - 数组(Array)

无涯教程-C语言 - 数组(Array)

时间:2023-10-30 18:33:57浏览次数:27  
标签:10 balance 元素 无涯 Element 索引 数组 Array C语言

数组是一种数据结构,可以存储相同类型的元素的固定大小的顺序集合。

所有数组均包含连续的内存位置,最低地址对应于第一个元素,最高地址对应于最后一个元素。

Arrays in C

声明数组

要在C 中声明数组,程序员可以指定元素的类型和数组所需的元素数量,如下所示-

type arrayName [ arraySize ];

这称为单维数组, arraySize 必须是一个大于零的整数常量,并且 type 可以是任何有效的C数据类型。如要声明一个名为double的 balance 的10元素数组,请使用以下语句-

double balance[10];

这里 balance 是一个可变数组,足以容纳10个双数。

初始化数组

您可以在C中一个接一个地初始化数组,也可以使用单个语句来初始化数组,如下所示:

double balance[5]={1000.0, 2.0, 3.4, 7.0, 50.0};

大括号{}之间的值数不能大于我们为方括号[]之间的数组声明的元素数。

如果省略数组的大小,则会创建一个大小足以容纳初始化的数组。因此,如果您写-

double balance[]={1000.0, 2.0, 3.4, 7.0, 50.0};

您将创建与上一个示例完全相同的数组。以下是分配数组的单个元素的示例-

balance[4]=50.0;

上面的语句为数组中的第5个 th 元素分配值50.0。所有数组的第一个元素的索引均为0,也称为基本索引,而数组的最后一个索引为数组的总大小减去1。下面显示的是我们上面讨论的数组的图形表示-

Array Presentation

访问数组元素

通过索引数组名称来访问元素。这是通过将元素的索引放在数组名称后面的方括号内来完成的。如-

double salary=balance[9];

上面的语句将从数组中获取第10 th 元素,并将其值分配给salary变量。以下示例显示如何使用上述所有三个概念。声明,赋值和访问数组-

#include <stdio.h>
 
int main () {

   int n[ 10 ]; /* n 是一个包含 10 个整数的数组 */
   int i,j;
 
   /* 将数组 n 的元素初始化为 0 */
   for ( i=0; i < 10; i++ ) {
      n[ i ]=i + 100; /* 将位置 i 的元素设置为 i + 100 */
   }
   
   /* 输出每个数组元素的值 */
   for (j=0; j < 10; j++ ) {
      printf("Element[%d]=%d\n", j, n[j] );
   }
 
   return 0;
}

编译并执行上述代码后,将产生以下输出-

Element[0]=100
Element[1]=101
Element[2]=102
Element[3]=103
Element[4]=104
Element[5]=105
Element[6]=106
Element[7]=107
Element[8]=108
Element[9]=109

更多数组介绍

数组对C很重要,应该多加注意。 C程序员应该清楚以下与数组有关的重要概念-

Sr.No. Concept & 描述
1 Multi-dimensional arrays

C支持多维数组。多维数组的最简单形式是二维数组。

2 Passing arrays to functions

您可以通过指定不带索引的数组名称,将指向数组的指针传递给该函数。

3 Return array from a function

C允许函数返回数组。

4 Pointer to an array

您可以通过简单地指定数组名称而无需任何索引来生成指向数组第一个元素的指针。

参考链接

https://www.learnfk.com/c-programming/c-arrays.html

标签:10,balance,元素,无涯,Element,索引,数组,Array,C语言
From: https://blog.51cto.com/u_14033984/8096114

相关文章

  • 实验3 C语言函数应用编程
    实验任务1源代码task1.c1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<windows.h>5#defineN8067voidprint_text(intline,intcol,chartext[]);8voidprint_spaces(intn);9voidprint_blank_lines(......
  • JUC高并发容器-CopyOnWriteArrayList
    CopyOnWriteArrayListJUC高并发容器线程安全的同步容器类什么是高并发容器?CopyOnWriteArrayListJUC高并发容器线程安全的同步容器类  Java同步容器类通过Synchronized(内置锁)来实现同步的容器,比如Vector、HashTable以及SynchronizedList等容器。线程安全的同步容器类主要有Vec......
  • ArrayList
    概述Resizable-arrayimplementationofthe<tt>List</tt>interface.可变大小的数组(实现了List接口);Implementsalloptionallistoperations,andpermitsallelements,includingnull.实现了List的所有操作,允许所有的元素(包括null);<p>The<tt>si......
  • 无涯教程-C语言 - 条件判断
    下面显示的是大多数编程语言中常见的典型决策结构的一般形式-C编程语言将任何非零和非空值假定为true,并且如果其值为零或null,则假定为false值Sr.No.Statement&描述1ifstatementif语句由布尔表达式和一个或多个语句组成。2if...elsestatement在if语句之后可......
  • 无涯教程-C语言 - 运算符
     C语言包含丰富的内置运算符,并提供以下类型的运算符-算术运算符关系运算符逻辑运算符按位运算符赋值运算符Misc运算符算术运算符下表显示了C语言支持的所有算术运算符。假设变量A=10,变量B=20,然后-运算符描述示例+相加A+B=30-相减A-B=-10*相乘A*B=20......
  • 无涯教程-C语言 - 储存类
    我们在C程序中有四种不同的存储类-autoregisterstaticexternautoauto存储类是所有局部变量的默认存储类。{intmount;autointmonth;}上面的示例在同一存储类中定义了两个变量,"auto"只能在函数(即局部变量)中使用。register寄存器存储类用于定义应存储在......
  • 06ArrayList源码分析
    ArrayList一、ArrayList集合的底层原理--扩容机制利用空参创建的集合,在底层创建一个默认长度为零的一个数组。添加第一个元素时,底层会创建一个新的长度为10的数组。存满时候,会扩容1.5倍。如果一次添加多个元素,1.5倍放不下,则创建数组的长度以实际为准。如:添加100......
  • 无涯教程-C语言 - 常量类型
    常数是指程序在执行过程中不得更改的固定值,常量与常规变量的处理方式相同,只不过其值在定义后无法修改。整数整数可以是十进制,八进制或十六进制常量。前缀指定基数或基数:十六进制为0x或0X,八进制为0。212/*有效*/215u/*有效*/0xFeeL/*有效*/078......
  • 用C语言,查找和判断年份是否为闰年
    今天我们来探讨一下用C程序代码来判断一个年份是否为闰年,或者题目给定一个年份区间,来查询里面有那些年份属于闰年:闰年的判断条件:1.能被4整除,但不能被100整除2.能被400整除运行结果如下:代码如下:#include<stdio.h>//打印1000到2000之间的闰年//闰年的判断条件:1.能被4整除,但不能被10......
  • 7-4 分寝室(c语言)
    目录目录目录题目第一次错误代码第二次错误代码最终结果题目学校新建了宿舍楼,共有n间寝室。等待分配的学生中,有女生n0位、男生n1位。所有待分配的学生都必须分到一间寝室。所有的寝室都要分出去,最后不能有寝室留空。现请你写程序完成寝室的自动分配。分配规则如下:男女......