안녕하세요 스페로 입니다.
F1과 C1을 double **형으로 선언 하였고
F_S_K_P 함수에서 결과를 할당 하려면 메모리 할당을 해야 하겠지요.
F1과 C1을 double 배열로 선언 하여도 가능 할듯 합니다.
그리고 아래의 코드에서 MAX_TAPS는 #define상수로 있는 값이고 malloc()의 사이즈는 이미 결정 되었으므로
구지 다시 계산 해야 한다면...
_msize()라는 함수가 있습니다.
size_t _msize(void *) 원형으로 함수 포인터를 전달하면 malloc에 의해 할당된 크기를 리턴 합니다.
printf("%d byte memory alloc", _msize(F1));
이렇게 코딩하면 결과를 얻을수 있을거 같네요.
그럼 수고 하세요.
신선경 님이 쓰신 글 :
: C로 통신 채널 모델링을 하려고합니다. 제가 C 코딩 실력이 워낙 부족해서요..
:
: 궁금한점을
:
: =================================
: F1 = (double **)malloc(MAX_TAPS * sizeof(double*));
: C1 = (double **)malloc(MAX_TAPS * sizeof(double*));
: TH1 = (double **)malloc(MAX_TAPS * sizeof(double*));
: F2 = (double **)malloc(MAX_TAPS * sizeof(double*));
: C2 = (double **)malloc(MAX_TAPS * sizeof(double*));
: TH2 = (double **)malloc(MAX_TAPS * sizeof(double*));
: q_l = (double*)malloc(MAX_TAPS * sizeof(double));
:
: F_S_K_P(N_i,F1,C1,TH1,F2,C2,TH2,q_l);
:
: 다음과 같이 F_S_K_P 함수 수행후에서 F1,C1..... 을 결과값으로 가져오려고 할때
:
: 1) "반드시" 함수 실행전에 배열의 메모리 할당을 해야하는지? (충분하게 큰사이즈말고 정확한 크기로 하려 합니다.)
:
: 2) F1과 같이 2차원 배열을 동적으로 할당한후 sizeof와 같은 함수로 크기를 알수있는 방법이 있는지 궁금해서 문의
: 드립니다.
:
: 답변 부탁드립니다..
|