數組基礎知識,vba數組基礎學習
/* ============================================================================ Name : TestArray.c Author : lf Version : Copyright : Your copyright notice Description : 數組的基本使用 ============================================================================ */#include <stdio.h>#include <stdlib.h>int main(void) {getArraySizeAndSize();copyArray();testCharArray();return EXIT_SUCCESS;}/** * 擷取數組所佔記憶體的大小和數組的長度 * 利用&array[i]和array+i取出每個元素的地址 * array+i為什麼可以取出每個元素的地址? * 因為array表示了首元素的地址,所以在其基礎上+1 * 表示了下一個元素,同理+i表示從首元素開始的第i個元素的地址 * * 小結: * array[i]與*(array+i)等價 * &array[i]與array+i等價 */void getArraySizeAndSize(void){int array[5]={0,1,2,3,4};//數組所佔的記憶體大小int arraySize=sizeof(array);//數組的長度int arrayLength=sizeof(array)/sizeof(int);printf("Array allocated memory:%dByte,Array length:%d\n",arraySize,arrayLength);//遍曆數組//取出數組的首地址printf("Array start address =%d\n",array);//遍曆數組元素int i;for(i=0;i<arrayLength;i++){printf("array[%d]=%d,address is %d,%d\n",i,array[i],&array[i],array+i);}}/** * 數組是不能直接賦值的. * 因為數組名就是該數組首元素的地址 */void copyArray(){int a[2]={1,2};int b[2]; //b=a;//錯誤的.//應該採用一個for迴圈不斷初始化b數組中的元素}/** * 字元數組的注意事項: * 1 可以用printf("%s\n",charArray);的方式列印字元數組 * 2 尤其注意字元數組最後一位應該是\0作為結束符 * 3 可以用一個字串直接對一個字元數組賦值. * 在這種方式時字串的末尾會自動添加\0 */void testCharArray(){char charArray[5]={'h','f','a','b','\0'};printf("%s\n",charArray);//如果使用了""那麼會在其末尾自動加上\0char charArray2[10]={"hello"};//可以簡寫為//char charArray2[10]="hello";printf("%s\n",charArray2);}