指標用於將函式中形參的值傳遞給實參

2021-07-09 11:41:09 字數 1018 閱讀 7424

void get_value_2(unsigned int*data0,unsigned int *data1)

//buf中資料長度

unsignedshort buf_len = 0;

//buf資料中值的位數

unsignedshort buf_data_len = 0;

unsignedshort buf_data_len_0 = 0;

unsignedshort buf_data_len_1 = 0;

unsignedchar i = 0;

buf_len= version_buf[2];

buf_len<<= 8;

buf_len|= version_buf[1];

buf_data_len= buf_len - 1 - 5;

buf_data_len_0= 0;

for(i= 0;i< buf_data_len;i++)

if(version_buf[8+i]!= 0x2c)

buf_data_len_0++;

else

break;

//總的長度減去逗號1個字元

buf_data_len_1= buf_data_len - buf_data_len_0 - 1;

*data0= 0;

for(i= 0;i< buf_data_len_0;i++)

*data0+= (version_buf[8+i]-0x30)*pow(10,buf_data_len_0 - 1 -i);

*data1= 0;

for(i= 0;i< buf_data_len_1;i++)

*data1+= (version_buf[8+buf_data_len_0+1+i]-0x30)*pow(10,buf_data_len_1 - 1 -i);

妙哉。。。

因為不止乙個引數,不能用return的方式返回。

同時,若用全域性變數的方式,則只能用於傳遞同一組引數。若採用指標傳遞方式,則可實現傳遞兩個引數,並具有通用性。。。

C 陣列作為形參傳遞給函式

以下三種形式等價 void function const int arg void function const int arg void function const int arg 10 這裡維度表示期望有10個,並不代表真實為10個以上三個函式等價於將陣列的頭指標const int 型別傳遞給...

c中形參修改值問題(指標傳遞和值傳遞)

首先,寫 的時候,寫出類似如下的 最後出現了段錯誤 define size 10 void encryptupdata int ctx intmain 寫出這樣的 主要是對函式引數傳遞的本質沒有很深的了解。最關鍵的一點就是,永遠要記住,形參是乙個副本傳遞,若要修改形參的值那麼請用一級指標,若要修改形...

指標將引數傳遞給函式的過程分析

在mfc框架下,展示了位址傳遞方式參與函式運算的過程。void test int pmn int main 執行結果 atltracegeneral p 0x4febb0 atltracegeneral p 0x4febbc atltracegeneral p 0x14 atltracegenera...