SiD schriebwäre das denn in Ordnung?
Dann nimm lieber gleich
snprintf, dann gibt es keine Pufferüberläufe. Und es wäre ratsam
define öfter zu nutzen.
Ist am Anfang aufwendiger, später aber meist komfortabler und bei richtiger Anwendung schiest du dir nicht ins Knie. 😉
#include <stdio.h>
#include <stdlib.h>
#define ROW 3
#define BUFFER_SIZE 30
int main(void)
{
char ** namen;
int i;
/* Speicher reservieren */
namen = (char **) calloc(ROW,sizeof(char *));
for (i=0; i<ROW; i++)
namen[i] = (char *) calloc(BUFFER_SIZE, sizeof(char));
/* array fuellen */
snprintf(namen[0],BUFFER_SIZE,"%s","Alf");
snprintf(namen[1],BUFFER_SIZE,"%s","Hans");
snprintf(namen[2],BUFFER_SIZE,"%s","Ute");
/* Namen ausgeben */
for (i=0; i<ROW; i++)
printf("%s\n",namen[i]);
/* Speicher freigeben */
for (i=0; i<ROW; i++)
free(namen[i]);
free(namen);
return 0;
}
cu