zoukankan      html  css  js  c++  java
  • 数组

    数组
    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 }
  • 相关阅读:
    剑指Offer对答如流系列
    剑指Offer对答如流系列
    KMP算法
    殊途同归
    从m个数中取top n
    用红黑树实现500万数据的动态排序
    返璞归真
    second blog编程之美------控制cpu曲线
    first blog编程之美-----计算1的个数
    mathematica入门学习记录:
  • 原文地址:https://www.cnblogs.com/jjzzx/p/5097843.html
Copyright © 2011-2022 走看看