私はCで遊んでいます。ベストプラクティスであり、何か間違っていたらいくつかの質問があります。私が動作しているようプログラムを作った関数間のポインタを渡す最善の方法
:
私もこのようにバージョンを見てきましたがvoid main()
{
char *text;
text = malloc(10 * sizeof(char));
dosomethingwithtext(text);
printf("%s\n", text);
}
:(私は任意の文字を追加していないので、それは意味のある何かを印刷しないことを知っていますしかし、私が持っていたと想像してください!)
void main()
{
char *text;
text = dosomething();
printf("%s\n", text);
}
char * dosomething()
{
char *text;
text = malloc(10 * sizeof(char));
return text;
}
またはいずれかが最適でない場合は、どのような方法が最適です。基本的に私はこれを行う最も一般的な/最善の方法を求めています。
意見の種類に基づいていますが、どちらの場合でも大文字と小文字を区別する回答が得られると確信しています。 IMOは、両方の方法がどこに呼び出されるかによって利点があります。しかし、どちらの場合でも 'free()'ステートメントを覚えておく必要があります。 – ryyker
'void main()'は 'main'の無効な署名であり、関数宣言子の非推奨構文です。 – Olaf
@Olaf '関数の宣言子のために'非難された構文 '、あなたは展開できますか? – xvan