void myAllocate(int **p) {
*p = new int[20];
for (int i = 0; i < 20; ++i) {
*(*p + i) = i;
}
}
int main(int argc, char *argv[]) {
int *p;
myAllocate(&p);
for (int i = 0; i < 20; ++i) {
std::cout << p[i] << ", ";
}
return EXIT_SUCCESS;
}
OR
void myAllocate(int *&p) {
*p = new int[20];
}
myAllocate(p);
Another
#include <iostream>
void allocate(int **p) {
*p = new int[20];
for (int i = 0; i < 20; ++i) {
*(*p + i) = i;
}
}
int main(int argc, char *argv[]) {
int **p = new int*; //必须先分配
allocate(p);
for (int i = 0; i < 20; ++i) {
std::cout << (*p)[i]<< ", ";
std::cout << p[0][i]<< ", ";
std::cout << *(*p + i)<< ", ";
}
delete[] *p;
delete p;
p = 0;
return EXIT_SUCCESS;
}
*p = new int[20];
for (int i = 0; i < 20; ++i) {
*(*p + i) = i;
}
}
int main(int argc, char *argv[]) {
int *p;
myAllocate(&p);
for (int i = 0; i < 20; ++i) {
std::cout << p[i] << ", ";
}
return EXIT_SUCCESS;
}
OR
void myAllocate(int *&p) {
*p = new int[20];
}
myAllocate(p);
Another
#include <iostream>
void allocate(int **p) {
*p = new int[20];
for (int i = 0; i < 20; ++i) {
*(*p + i) = i;
}
}
int main(int argc, char *argv[]) {
int **p = new int*; //必须先分配
allocate(p);
for (int i = 0; i < 20; ++i) {
std::cout << (*p)[i]<< ", ";
std::cout << p[0][i]<< ", ";
std::cout << *(*p + i)<< ", ";
}
delete[] *p;
delete p;
p = 0;
return EXIT_SUCCESS;
}