下劃線是(變量或類型的)名稱。你也可以自己定義,但要注意沖突。例如:
創(chuàng)新互聯(lián)專注于獲嘉企業(yè)網(wǎng)站建設,響應式網(wǎng)站,購物商城網(wǎng)站建設。獲嘉網(wǎng)站建設公司,為獲嘉等地區(qū)提供建站服務。全流程按需定制網(wǎng)站,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
int?_a_b_c=100;
typedef?int?_abcd;
C語言的編譯分好幾個步驟。其中有一步叫做鏈接,到了這一步,那些你找不到定義的東西才真正被編譯器解釋,我們一般找不到函數(shù)體的源代碼。這些東西其實不是真正地被定義,它們不具有函數(shù)體,稱為隱式定義,只是告訴編譯器:“有這個東西?!本幾g器會到真正的庫去尋找,就像上面的__aeabi_memcpy(_D, _S, _N)。
void * memcpy按照正常的信息學函數(shù)理解就行了
void*是返回值,表示這個函數(shù)返回一個不名類型的指針。
memcpy是函數(shù)的名稱。根據(jù)C/C++手冊,這個函數(shù)的作用是把以_S開始的前_N個字節(jié)復制到_D中。
首先你沒有包含STRING.H文件,沒有指定使用系統(tǒng)定義的函數(shù)。其次,如果指定的話,在C編譯器里會報錯,在C++編譯器里會先執(zhí)行自定義的,再執(zhí)行系統(tǒng)的。
C中會出錯的
比較簡單的,如果你自己定義了一個printf 那么編譯的時候可能是正確的 到鏈接一步就會報錯了