私はC言語の初心者で、よく理解できないのはmallocの使い方です。そこで、この例を作成することにしました。バッファ データが出力されない理由と、これを行うためのベスト プラクティスは何かを理解したいと思います。
#include <stdio.h> /* printf, scanf, NULL */
#include <stdlib.h> /* malloc, free, rand */
void f(char * buffer, int i) {
buffer = (char *) malloc(i+1);
if (buffer==NULL)
exit (1);
for (int n=0; n<i; n++)
buffer[n]=rand()%26+'a';
buffer[i]='\0';
}
int main ()
{
char * buffer;
f(buffer, 5);
printf ("Random string: %s\n",buffer);
free (buffer);
return 0;
}
ありがとう