数组的练习

#include <iostream>

using namespace std;

//a[i][j]表示 边(i,j)的权  但权的子为-1时表示 节点i与节点j没有直接相连
// int (*a)[10] 和 int *a[10]

int main()
{


   int*        a4;                                      //a4 输一个指针
   int*        a2           [10] ;                    //数组指针。数组a2里存放的是10个int型指针
//类型     变量名    该类型元素个数

  int test=100;
  int *p=&test;
  a2[0]=p;
 // cout<<*a2[0]<<endl;

/***************************************************************************************************/
   int        (*a3);
   int       (*a1)    [10] ;//*a1是指针,指向一个数组。此数组有10个int型元素
   /*先找到声明符a,被括号括着,先看括号内的(优先级高),然后向右看,没有,向左看,是*,
    * 说明a是个指针,什么指针?在看括号外面的,先向右看,有[] 是个数组,说明a是个
    * 指向数组的指针,再向左看,是int,说明数组的每个元素是int。所以,这是一个指向
    * 存放int的数组的指针。 */
   int pp[10]={111,29,18,18,29,10,29,28,22,14};

    a1=&pp;
     cout<<a1[0][2]<<" "<<endl;   //结果说明
     cout<<(*a1)[2]<<" "<<endl;   //结果说明
     //注意这里a1 和*a1是有巨大的差别的 a1 是一个*a1的类型的数组
    for(int i=0;i<10;i++)
   {
        cout<<*a1[i]<<" ";   //结果说明
        cout<< (*a1++)<<endl ;
    }

//a1[1] 和 a1=a1+1; 效果等同
cout<<"*****************************\n";
     int       (*a5)    [3] [3];
     int       bb[3][3]={1,2,3,
                                4,5,6,
                                7,8,9};
     a5=&bb;
    cout<< (*a5)[1][1]<<endl;
    cout<< (*a5)[1][3]<<endl;
    cout<< (*a5)[2][2]<<endl;
    return 0;
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值