發表文章

目前顯示的是 9月, 2022的文章

C語言的二維陣列

複習一維陣列 介紹陣列與指標相關的文章實在太多了,我們簡單帶過一維陣列: #include <stdio.h> int main() { const int length = 3; int arr[length]; int i; printf(" arr = %p\n", arr); printf("&arr = %p\n", &arr); printf("size of array: %lu = %lu * %d\n", sizeof(arr), sizeof(int), length); printf("length of array: %ld\n", sizeof(arr) / sizeof(arr[0])); for (i = 0; i < length; i++) arr[i] = i; // Show. for (i = 0; i < length; i++) printf("address %p: value = %d (size = %lu)\n", &arr[i], arr[i], sizeof(arr[i])); return 0; } 輸出如下: arr = 0x7ffdcf290ce0 &arr = 0x7ffdcf290ce0 size of array: 12 = 4 * 3 length of array: 3 address 0x7ffdcf290ce0: value = 0 (size = 4) address 0x7ffdcf290ce4: value = 1 (size = 4) address 0x7ffdcf290ce8: value = 2 (size = 4) 「&arr」與陣列變數「arr」是等價的。 有時遇到長度不固定,可以在長度確定後,再用malloc()配置指標,記得養成好習慣,使用後用free()釋出記憶體,不然在程式結束之前,會一直佔用malloc的記憶體區域。 #inc...