以下のコードがあり、int milli =
20 行目 (一番下の近く) なしで実行すると問題なく実行されますが、関数の結果を変数 ( milli
) に代入すると、セグメンテーション違反がスローされます。セグメンテーション違反を引き起こす違いが何であるかわかりません。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
// convert a timeval and time to milliseconds of today
int seconds_of_day(struct timeval *sec, struct tm *tim){
long int milli_since_epoch = (sec->tv_sec * 1000)+(sec->tv_usec/100);
return 0; // this is return 0 only for debugging
}
int main(){
struct timeval *timeval_struct;
time_t rawtime;
struct tm *tm_struct;
gettimeofday(timeval_struct, NULL);
time(&rawtime);
tm_struct = gmtime(&rawtime);
int milli = seconds_of_day(timeval_struct, tm_struct);
return(0);
}