C語言中const void a是什麼意思

2021-10-10 09:26:20 字數 527 閱讀 3065

const void *a

const是定義常量,不可修改。

void的字面意思是「無型別」,void *則為「無型別指標」,void *可以指向任何型別的資料。

這是定義了乙個指標a,a可以制指向任意型別的值,但它指向的值必須是常量,在這種情況下,我們不能修改被指向的物件,但可以使指標指向其他物件。

因此,void * 型別指標,這個型別指標指向了實實在在的存放資料的位址,但是該位址存放的資料的資料型別我們暫時不知道。

舉個例子,我們的動態記憶體分配就是這樣,一開始只是分配位址,但沒有知道這塊位址用了存放什麼,接著強制型別轉換,使得它用來存放我們想要存放的內容。

char

*str=

(char*)

malloc

(sizeof

(char)*

13);

上面這條**,malloc()函式分配的位址一開始是void * 型別的,因為我們用來存放char型別資料,所以強制轉換為 char *

什麼是C語言中的runtime?

大體來說,runtime是與runtime library密不可分的,這些庫依賴於特定的執行平台。按照wiki上的說法 在計算機程式設計中,runtime library執行時庫,是指一種被編譯器用來實現程式語言內建函式一提供該語言執行時 執行時 支援的一種特殊的計算機程式庫,這種庫一般包括基本的輸...

c語言中的「巨集」是指什麼?

簡單來說 巨集定義又稱為巨集代換 巨集替換,簡稱 巨集 是c提供的三種預處理功能的其中一種。複雜的請看下面,講的很全。下面的帶參巨集定義,多行巨集定義,在linux核心原始碼中很多。另外sizeof也是乙個巨集定義。巨集定義巨集定義是c提供的三種預處理功能的其中一種,這三種預處理包括 巨集定義 檔案...

C語言中的 ,

c語言中的 今天在分析乙份原始碼的時候遇到了如下 define uf call x report file line x,x static int report char file,int line,char call,int irc return irc 網上參考 cpp view plain c...