C++ Array 数组

2023-03-02  本文已影响0人  不决书

基本的数组定义,数组就是向计算机申请一个连续的地址类存储数据,具体每一个连续的地址是多少,需要根据数据类型来判断,比如int类型占4个字节,char 类型占一个字节

int main()
{
    // 定义一个int型,数组长度为5的数字
     int example[5];
      // 为数组赋值
      example[2] = 2;
      // 定义一个指针指向这个数组
      int* ptr = example;
      // 类似与上面 example[2] = 2 一样的情况,指针指向的数组的首地址
      *(ptr+2) = 2;
      // 使用 char类型的指针,每次指针移动一个直接, 所以相对于int指针,我们就需要 2*4次
      *(int*)((char*)ptr + 8) = 2;
      // 数组的赋值,我们可以使用for循环
      for(int i=0;i<5;i++)
      {
          // 根据索引号为数组赋值
            example[i] = 5;
      }
      
} 
   

另外一种常用的数组定义,这种定义性能较上面这种方法要插一下,主要原因是要进行两次寻址,具体代码如下:

int main(){
   // 将属组的地址指向 新创建的int [5] 数组的首地址,也就是说example只是存储了数组的地址
   int * example = new  int[5];
   // 打印example的大小是 4,所以这种情况需要注意一下 
   std::cout << sizeof(example) << std::endl;
   for(int i=0;i<5;i++)
      {
          // 根据索引号为数组赋值
            example[i] = 5;
      }
}

数组的所以必须是静态常量,不然编译器就会报错

class  Entry
{
public:
    //静态常量
   static const int size = 5;
    void createArray()
    {
        // 申明数组
        int exmaple[size];
    }
};
上一篇 下一篇

猜你喜欢

热点阅读