スタックに char** 文字配列を作成したいと考えています。現在、私はこれを使用していますが、もっと良い方法があるのだろうか:
char* buf[4];
char temp0[1024], temp1[1024], temp2[1024], temp3[1024];
buf[0] = temp0;
buf[1] = temp1;
buf[2] = temp2;
buf[3] = temp3;
編集:より明確にするために、単に使用することはできませんchar buf[4][1024]
。char ポインターの配列を期待する関数は、根本的に異なるデータ型であるため、クラッシュします。これは、ヒープに配列を作成する方法です。
char** buf = malloc(sizeof(char*) * 4);
for(int i = 0; i < 4; i++)
{
buf[i] = malloc(sizeof(char) * 1024);
}