Gibt es einen Unterschied von deklarieren int * p; oder int ** p; Ich weiß, ** p wird für einen Zeiger auf einen Zeiger verwendet, aber * p kann auch einem Zeiger zugewiesen werden, so dass meine Frage ein Unterschied zwischen ihnen ist?Zeiger auf einen Zeiger Syntaxunterschiede zwischen int * p und int ** p C++
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;
, warum wir nicht verwenden pointertopointers für ein dynamisches Array wie dies an dieser Stelle
double *Sales = new double[numDays];
double *p = Sales;
oder können Sie?
Ja. Ein reguläres 'int *' verweist auf eine Reihe von Ints im Speicher. Ein 'int **' zeigt auf einen Zeiger auf eine Reihe von Ints im Speicher ... –
Mögliche Duplikate von [Warum Doppelzeiger verwenden? oder Warum Zeiger auf Zeiger verwenden?] (http://stackoverflow.com/questions/5580761/why-use-double-pointer-or-why-use-pointers-to-pointer) – jtbandes
@MillieSmith Eigentlich ein 'int ** 'zeigt auf * eine Anzahl * von Zeigern, wobei jeder auf eine bestimmte Anzahl von 'Ints' zeigt. –