1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#include <iostream>
using namespace std;
#include <cstdio>
#include <cstring>
void print2dArray(char **myArray, int xLength, int yLength){
printf("\n\n2D Array Contents:");
for(int i = 0; i < xLength; i++){
char *c = new char[yLength+1];
memcpy(c, myArray[i], yLength);
c[yLength] = 0;
printf("\n\t%u:'%s'", i + 1, c);
delete [] c;
}
}
void populate2dArray(char **myArray, int xLength, int yLength){
for(int i = 0; i < xLength; i++){
memset(myArray[i], 'a' + i, yLength);
}
}
int main(){
printf("\n\n");
printf("*******************************\n");
printf("** 2D Array Pointer Test\n");
printf("*******************************");
int xLength = 5;
int yLength = 8;
printf("\n\nArray dimensions = (%u, %u).", xLength, yLength);
{
char **myArray = new char*[xLength];
for(int i = 0; i < xLength; i++){
myArray[i] = new char[yLength];
}
populate2dArray (myArray, xLength, yLength);
print2dArray (myArray, xLength, yLength);
for(int i = 0; i < xLength; i++){
delete [] myArray[i];
}
delete [] myArray;
}
printf("\n\n");
return 1;
}
| |