C语言基础(10)-数组

一.数组的定义

数组就是在内存中连续的相同类型的变量空间。

二.数组在内存中的存储方式

同一个数组所有的成员都是相同的数据类型,同时所有的成员在内存中的地址是连续的,数组名是一个地址的常量,代表数组中首元素的地址。

三.数组的初始化

3.1 一维数组初始化

int a[10] = { 1, 2, 3 };
int a[10] = { 0 };
int a[10] = {1,2,3,4,5,6,7,8,9,10};
int a[] = {1,2,3,4,5,6,7,8,9,10}; // 此写法与上面的写法是等价的

注意:

在C语言中,数组未初始化就使用是极其危险的,系统会为数组中的每一个元素指定一个随机的值,因此在使用数组之前最好先初始化。

练习1

定义下列数组

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

将该数组中的元素进行反转(最大值在前,最小值在后)。

#include <stdio.h>

void main() {

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

    // int a[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };

    for (int i = 0; i < 10;i++) {

        printf("a[%d]=%d\n",i,a[i]);
    }

    printf("------------------ 将数组反转 ------------------\n");

    int min = 0; // 记录当前数组的最小下标
    int max = 9; // 记录当前数组的最大下标

    while (min < max) {
        int tmp = a[min]; // 记录当前较小下标的值
        a[min] = a[max]; // 将较大下标值赋值给较小下标的值
        a[max] = tmp; // 将较小下标的值赋值给较大下标的值
        min++;
        max--;
    }

    for (int i = 0; i < 10; i++) {
        printf("a[%d]=%d\n",i,a[i]);
    }

    system("pause");

}

运行结果:

时间: 2024-11-17 00:38:23

C语言基础(10)-数组的相关文章

C语言基础:数组作为函数参数传递演示源码

将做工程过程中常用的内容片段记录起来,如下内容内容是关于C语言基础:数组作为函数参数传递演示的内容,应该能对小伙伴也有好处. #include <stdio.h> void show_array(int values[], int number_of_elements) { int i; printf("About to display %d valuesn", number_of_elements); for (i = 0; i < number_of_elemen

GO学习-(8) Go语言基础之数组

Go语言基础之数组 Array(数组) 数组是同一种数据类型元素的集合. 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化. 基本语法: // 定义一个长度为3元素类型为int的数组a var a [3]int 数组定义: var 数组变量名 [元素数量]T 比如:var a [5]int, 数组的长度必须是常量,并且长度是数组类型的一部分.一旦定义,长度不能变. [5]int和[10]int是不同的类型. var a [3]int var b [4]int a =

黑马程序员-C语言基础:数组和字符串

数组:数组的定义注意点 数组初始化正确写法: int args[5] = {1,23,32,4,5}; int args[5] = {12,23}; int args[5] = {[3]=23, [4]=13};//这种写法也可以,直接给其中角标为3和4的赋值 int args[] = {12,23,32};//中括号中没写数组大小,在大括号中一定要写具体数值 int args['A'] = {2,34,5}; 错误写法: int args[];//这样编译器不知道给你开辟多大的内存空间 int

js脚本语言基础和数组

js和PHP中,字符串赋值:要使用"双引号"或"单引号"引起来:例如:var c="你好"不同类型进行数学运算,要转换,类型转换:强制转换parseInt{c}---转换成整数.parseFloat{}---转换小数运算符表达式:数学运算符:加.减.乘.除.取余逻辑运算符:并(&&):两个条件必须同时成立:或(||):两个条件其中一个条件满足:非(!):原来是真值 加上非就成了假值.比较运算符:等于(==)恒等于(===)不等于(

C语言基础概要----数组

1.数组 数组的地址就是第一个元素的首地址,数组的名字,就代表数组的地址,且是一个常量: 数组小标:元素在数组中的位置,是由下标来表示的,且下表从零开始,所以数组的下标最大值只能为数组的长度减一,使用过程中注意下表不要越界: 数组初始化 (1)直接给所有元素赋值 (2)给部分元素赋值,未赋值的元素默认为零: (3)直接省略长度,大括号里的元素个数就是数组的长度: 数组中的重要使用方法<冒泡排序>:假设数组有n个元素,那么最外层循环(控制循环比较多少次)变量(i)需要i<n-1,里层的循环

C语言基础五 数组的应用

.根据用户输入的10人成绩并将其保存到数组中,求最高成绩,最低成绩和平均成绩 int scoure[10];//存储10个数据的数组 int i; int sum;//总成绩 int max,min,avg;//最大值,最小值,平均成绩 for(i=0;i<10;i++){ printf("请输入%d个成绩",i+1);//获取用户输入的值 scanf("%d",&scoure[i]); sun+=scoure[i]//总成绩 }avg=sum/10;

Coursera_程序设计与算法_计算导论与C语言基础_数组应用练习

您也可以在我的个人博客中阅读此文章:跳转 编程题#1:求字母的个数 描述 在一个字符串中找出元音字母a,e,i,o,u出现的次数. 输入 输入一行字符串(字符串中可能有空格,请用gets(s)方法把一行字符串输入到字符数组s中),字符串长度小于80个字符. 输出 输出一行,依次输出a,e,i,o,u在输入字符串中出现的次数,整数之间用空格分隔. ##样例输入If so, you already have a Google Account. You can sign in on the right

黑马程序员——C语言基础---一维数组详解

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 1.数组:相同类型的若干个数组组成一个有序的集合2.一维数组:      数组的每个元素都是基本数据类型的变量      数组的每个元素都不是一个数组3.一维数组的定义       数组类型  数组名[数组长度];        int

C语言基础10

栈区间:在函数内部声明的变量都存放在栈区间,比如int char 数组 结构体 指针,只管申请,系统会自动帮我回收,收回的时间是作用域结束之后,遵循的原则是"先进后出", int a = 10; const int m =10; printf("%p\n", &m); printf("%p\n", &a); 堆区间:在五大区间中占用比例较大的区间,需要手动申请和手动释放,遵循的原则 "先进先出",堆区间空间的开