I have fullNames
, which is a 2D array that has sorted full names in it and I want to copy its content into sortedNames
, which is a 2D array that exists out side of this function. (I get ***sortedNames
as a parameter).
I dynamically allocated this array, but the copying does not succeed. The program crashes after the 4th attempt to copy a name from fullNames
to sortedNames
. Why?
stringcpy
and stringlen
are functions that I created. They do the same thing as strcpy
and strlen
does.
/*allocating memory for sortedNames*/
*sortedNames = (char**) malloc(n);/*n is the number of names*/
/*allocating memory for each sortedNames array*/
for (i = 0; i < n; i++)
{
(*sortedNames)[i] = (char*) malloc(stringlen(fullNames[i])+1);
}
/*Copying fullNames into sortedNames*/
for (i = 0; i < n; i++)
{
stringcpy((*sortedNames)[i],fullNames[i]);
}