指向int * p和int ** p C ++之间指针语法差异的指针

时间:2016-04-18 00:55:01

标签: c++ pointers

声明int * p有区别吗?或者int ** p;我知道** p用于指向指针,但* p也可以指定给指针,所以我的问题是它们之间有区别吗?

void main()
{

    int numDays;
    double sum = 0;
    double avg;
    cout << "Enter the number of days of sales";
    cin >> numDays;
    double *Sales = new double[numDays];
    double *p = Sales;
    for (int i = 0; i < numDays; i++)
    {
        cout << "enter how much you sold for day " << i << endl;
        cin >> *p;
        sum = sum + *p;
        p++;


    }


    avg = sum / (numDays);
    cout << "the sum is" << sum << endl;
    cout << "the avg is" << avg << endl;

    delete[]Sales;

为什么我们不在这个地方使用pointertopointers作为动态阵列

double *Sales = new double[numDays];
        double *p = Sales;

或者你可以吗?

3 个答案:

答案 0 :(得分:0)

它们是不同的类型。一级间接高于int,而不是两级。

答案 1 :(得分:0)

  

我知道** p用于指向指针的指针

正确。

  

但* p也可以分配给指针

但不是指向指针的指针。

  

所以我的问题是它们之间有区别吗?

答案 2 :(得分:0)

init='1'

指针 - &GT;值

int * ptr

指针 - &GT;指针 - &GT;值