私はC言語のプログラミングの中で新しいものです(Javaから来ています)。正直なところ、本当に混乱します。問題に私は文字列の私の2D配列(3Dアレイのような何かを推測??)のデータの連続したチャンクを割り当てるしようとしている。私が持っているのは、これは私が配列の文字列の連続割り当てを信じているのですか? 誰かが2D配列で私を助けてくれますか?Cで文字列の連続した2次元配列を割り当てる方法
はい、私はプログラムを実行する前にサイズを知っています。そのためには行が列に、列にはCOLS、文字列にはNAMEが定義されています。
char **people = malloc(COLS * sizeof(char *));
people[0] = malloc(COLS * NAME);
for(int i = 1; i < COLS; i++)
people[i] = people[0] + i * NAME;
あなたのコードは決してROWSを使用しません。それは意図的なのでしょうか? – ruakh
このコードでは、文字列の配列に連続したデータを割り当てる必要があることは言及しておきます。 2Dではなく1D配列のために私は助けが必要な2Dのものを理解することができず、ROWSを使ったことのない理由があります。 – Pauli
'char(* people)[COLS] [NAME] = malloc(ROWS * sizeof * people);'は仕事をするべきです。 – mch