選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C 記憶體訪問


訪問動態記憶體

動態記憶體的使用方式類似於陣列,其資料型別由指標的型別決定。

與陣列一樣,要訪問動態記憶體中的元素,請引用其索引號

ptr[0] = 12;

您也可以透過解引用指標來訪問第一個元素。

*ptr = 12;

示例

讀寫動態記憶體

// 分配記憶體
int *ptr;
ptr = calloc(4, sizeof(*ptr));

// 寫入記憶體
*ptr = 2;
ptr[1] = 4;
ptr[2] = 6;

// 從記憶體讀取
printf("%d\n", *ptr);
printf("%d %d %d", ptr[1], ptr[2], ptr[3]);
自己動手試一試 »

關於資料型別的說明

動態記憶體沒有自己的資料型別,它只是一系列位元組。記憶體中的資料可以根據指標的資料型別被解釋為相應的型別。

在此示例中,一個指向四個位元組的指標可以被解釋為一個 int 值(4 位元組),或者解釋為 4 個 char 值(每個 1 位元組)的陣列。

示例

int *ptr1 = malloc(4);
char *ptr2 = (char*) ptr1;
ptr1[0] = 1684234849;
printf("%d is %c %c %c %c", *ptr1, ptr2[0], ptr2[1], ptr2[2], ptr2[3]);
自己動手試一試 »


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援