C++指针和数组之间的区别

C++指针和数组之间的区别

一、数组和指针定义
数组:数组是用于存储多个相同数据类型的有序集合。
指针:指针是一个变量,但是他和普通变量不一样,它存放的是其他变量在内存中的地址。

**二、赋值**
     数组:只能一个一个元素的赋值或者拷贝。
     指针:指针变量可以相互赋值。
     
   **三、表示范围的不同**
      数组的有效范围就是其空间的范围,数组名使用下标引用元素,不能指向别的数组。
      指针:可以指向任何地址,但是不能随意访问,必须依附在变量的有效范围之内。

   四、sizeof
       数组:
            数组所占内存空间的内存: sizeof(数组名)
            
            数组大小计算:sizeof(数组名) / sizeof(数组[ 0 ])
           
         指针:
         在32位平台下,无论指针的数据类型是什么,sizeof(指针名)都是4.
         在64位平台下,无论指针的数据类型是什么,sizeof(指针名)都是8.

二、指针数组和数组指针

  **指针数组**
       
       int * arr[2]; //这是定义了有两个元素的指针数组,每个元素都是一个指针变量。
         int a=11;
         int b=12;
          
          *arr[0]=&a;
          *arr[1]=&b; 

 **数组指针:**
      int (*p)[3];   //定义了一个指向三个成员的数组指针。
        访问元素的方式有两种分别是:
       int A[4][3]={
                 {173,158,166},
                 {168,155,171},
                 {163,164,165},
                 {163,164,172}
              };
        
          p=&A[4];
      
          1.数组法:  (*p)[j]
           2.指针法:  *((*p)+j)          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海鸥1234

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值