看板 C_and_CPP 關於我們 聯絡資訊
1. #if defined(_WIN32) typedef _int64 XXTYPE; #define DMOD(n,p)((n)%(p)) #elif defined(__GNUC__) typedef int64_t XXTYPE; #define DMOD(n,p)((n)%(p)) #else #include typedef double XXTYPE; #define DMOD(n,p) fmod((n),(p)) #endif ==================== #宣告也能用if喔o.o? 這個不懂的點在(_WIN32) (__GNUC__)這東西是啥?作用是? 2.typedef double aa; 之後,可以把aa當成一個型態(如double)來設定變數型態 如:aa b,那b就是double的型態 3.typedef struct{ int B, m, k, s, t; double minv; } DX_param; typedef struct{ XXTYPE *X; int I,K12,K13,K23; } DX_state; static double DX_k_s1_t_U01(void *vpar, void *vsta) { DX_state *state = vsta; DX_param *param = vpar; int I0 = state->I - (param->t -1); if(I0<0) I0+= param->k; if(++state->I >=param->) state->I =0; state->X[state->I] = DMOD (param->B * state->X[state->I] + state->X[I0], param->m); return ((double)state->X[state->]+0.5) * param->minv; } ======================================== 淺藍色部份,可以把這部份看成自定一組向量 然後向量內的每個title、宣告都自己另外設定嗎? (例如不想用 a[1]a[2],改成a[book] a[nono]) 黃色的部份不太懂意思 輸入指標*vpar,然後指標*state = vsta的值? 綠色部份,我可以把state->I當作一個變數來看嘛? (相當於一個向量a[1]) 而state->I可以寫成(*state).I 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.125.72.28
Bencrie:__WIN32__跟GNU那兩個巨集是平台描述 06/08 15:38
Bencrie:Windows下的開發環境會定義 __WIN32__ 06/08 15:38
Bencrie:黃色部份就當作是型態轉型吧 06/08 15:40
wupojung:state->I 是因為state 是point 所以才用-> 否則用. 06/22 02:20
wupojung:起是如同你說的 (*state).I 會比較好理解 06/22 02:20
wupojung:淺藍色部份 其實就是定義一個 結構(可以理解成一段記憶體 06/22 02:23
wupojung:一個結構就是一個block...就像一個箱子一樣 06/22 02:23