次のコードから取得しているセグメンテーション違反を理解できません。
#include <stdio.h>
#include <jpeglib.h>
#include <stdlib.h>
int main(int argc, char** argv){
FILE* outfile;
JSAMPLE* row_pointer;
struct jpeg_error_mgr jerr;
long long int *w, *h;
setSomePointers(w, h);
printf( "%lld %lld\n", *w, *h);
}
最初の 3 つの宣言のいずれかをコメントアウトすると、修正されます...
奇妙なことに、次のコードが機能します。
#include <stdio.h>
#include <jpeglib.h>
#include <stdlib.h>
int main(int argc, char** argv){
FILE* outfile;
JSAMPLE* row_pointer;
struct jpeg_error_mgr jerr;
long long int w, h;
setSomePointers(&w, &h);
printf( "%lld %lld\n", w, h);
}
何かおかしなことが起こっているのでしょうか、それとも C のチュートリアルを実行する必要がありますか?