thanks you for being here to help
i want to have dynamic 2d dimension as char
int n;
char** stars;
int main() {
cin >> n;
for (int i = 0;i < n;i++) {
stars = new char* [n];
stars[i] = new char[n];
for (int j = 0;j < n;j++) {
stars[i][j] = '*';
}
}
for (int i = 0;i < n;i++) {
for (int j = 0;j < n;j++)
cout << stars[i][j]; //this is where access violation is occured
cout << endl;
}
return 0;
}
and i also want to know that if i put * on this array then new char data which contains '*' is generated on memory(maybe stack in this code) at each time it is inserted?
stars = new char* [n];
is wrongly positioned in the loop, so you reallocate it per each string, and in the freshly allocated matrix only one string is allocated.