zoukankan      html  css  js  c++  java
  • C++小tips

    1.关于强制转化的问题:

    已经 int**Matrix; 强制类型转换时为了防止出现意外,编译器不同要求也不同


    一般编译器会自动转化了

    也可以加上

    Matrix=(int**) new int*[];

    2.new的另一个问题

    只有是指针才需要new ,因为系统不知道要开辟多大的空间

    如果不是指针,比如 int top;这种时候系统知道要开辟4个字节的空间,不需要再new告诉空间的数目。

    3.二维数组做参数使用的问题

    int data[3][4] = { {1, 2, 3, 4}, {5, 5, 7, 8}, {9, 10, 11, 12} };

    int total = sum(data, 3);  

    sum 函数书写:

    int sum( int (*arr) [4], int size); 或者是int sum(int arr[][4], int size);

    理解如下:

    data是数组名,这个数组含有三个元素,分别是data[0],data[1],data[2];每一个data[i]本身又是又四个int类型的元素组成的数组

    所以:data是指向 含有四个int数据元素的 数组的  指针

    int *a[4];//表示的是 a是一个指针数组,这个数组里面的内容是4个int*也就是int的指针变量

    int  (*a)[4];//表示的则是一个数组指针,这个指针,指向 含有四个int元素 的数组 

    。。。所以最终得出二维数组的名字是指针不是数组?再去翻翻书吧== 

  • 相关阅读:
    2.7 矩阵的秩
    HDU
    HDU
    HDU
    HDU
    HDU
    hdu 5179 beautiful number(数位dp)
    ACdream
    CodeForces
    <a>标签中 href="/" 和 hideFocus="true"
  • 原文地址:https://www.cnblogs.com/Cherrylalala/p/5061411.html
Copyright © 2011-2022 走看看