での関数の使用に関する私の質問struct
。R.Stevens の本からスニペットを取りましたが、似たようなスニペットを数回見ました。CとLinuxの経験を積むことをお勧めしますが、この場合、構造体を正しい方法で使用する方法が本当にわかりません。
struct stat buf; // The error line
for (i=1; i < argc; i++){
if (lstat(argv[i], &buf) < 0) { // Usage of
err_ret("lstat error");
continue;
}
if (S_ISERG(buf.st_mode))
ptr = "regular";
コードをコンパイルすると、エラーが発生しました。
type.c: In function ‘main’:
type.c:9:15: error: storage size of ‘buf’ isn’t known
構造体宣言の何が問題になっていますか? 構造体のサイズを明示的に宣言する必要がありますか? もしそうなら、どうすればそれを知ることができますか? そして主な質問 - それはどのように機能しstruct method name
ますか?