• 数组


    数组
    1. 定义一个一维数组:int a[10];
    这个数组一共10个元素,下标分别为0~9。访问某个元素时,直 a加方括号,如 a[5]。
    2. 定义一个二维数组:int b[5][3];
    这个数组一共5 3=15个元素,分别是 b[0][0]、b[0][1]、b[0][2]、b[1][0]……b[4][2]。
    访问某个元素时要用两个方括号,如b[2][1]。
    多维数组的定义和使用方法与此类似。
    3. 数组名和元素的寻址:以上面的 a、b为例 数组名是一个指针,指向整个数组第一个元素所在的地址。如a就是&a[0]、b就是&b[0][0]。 多维数组的本质是数组的数组,所以b[0]实际上是 b[0][0]、b[0][1]……的数组名,b[0]就是
    &b[0][0]。 在内存中,数组中每个元素都是紧挨着的,所以可以直接进行指针的运算。如a+3 就是&a[3],**(b+1)
    就是b[1][0],*(*(b+3)+2)就是b[3][2]。 在竞赛中要尽可能回避这些功能。
    4. 字符串: 字符串实际上是char 的数组。 字符串最后一位必须是'',否则会在进行输出、使用字符串函数时发生意外。 数组,包括字符串,不可以整体地赋值和比较。如果需要,应使用memcpy和memcmp(字符串是strcpy
    和strcmp)。
    5. C++中数组的下标只能从0 开始(当然可以闲置不用),并且 int a[10]中 a的最后一个元素是 a[9],
    不是a[10]!
    6. C++不检查数组下标是否越界!如果下标越界,程序很有可能会崩溃!

    下面就以一维数组为例,简要地进行说明数组的常见应用。

    例:第一行读入个数n,第二行读入n个数并保存在数组a中;输入:把这n个数反向输出。

     1 #include<iostream>  //头文件,因为输入cin,输出cout需要iostream 
     2 using namespace std;   //C++标准程序库中的所有标识符都被定义于一个名为std的namespace中
     3 int main()             //定义主函数,main 函数的返回值类型必须是 int  
     4 {
     5     int n,a[100001];   //定义变量 
     6     cin>>n;          //读入n 
     7     for (int i=1;i<=n;i++) cin>>a[i];    // 读入n个数 
     8     for (int i=n;i>=1;i--) cout<<a[i]<<' ';    //反向输出n个数,并用空格隔开 
     9 
    10     return 0;          //主函数的返回值必须是0,否则在有些测试系统中会出错 
    11 }
  • 相关阅读:
    程序员是这样区分Null和Undefined
    JavaScript实现
    获取页面中任意一个元素距离body的偏移量
    js检测数据类型的方法你都掌握了几个?
    处理浏览器兼容你最喜欢用哪种方式
    算法竞赛入门经典 第四章 学习笔记 1
    算法竞赛入门经典 程序4-1 组合数
    算法竞赛入门经典 例题3-1 TeX中的引号
    算法竞赛入门经典 第3章 数组和字符串 学习笔记 3
    算法竞赛入门经典 第3章 数组和字符串 学习笔记 2
  • 原文地址:https://www.cnblogs.com/jjzzx/p/5097843.html
Copyright © 2020-2023  润新知