一段時間不寫代碼,真的會手生,一些簡單的知識點都快忘了。單開個帖子 ,記錄下本身曾經以往的C知識,以便之後複習。數組
1. 如何使用宏定義定義一個數組?函數
根據查閱的資料,目前貌似單純使用宏不能夠定義一個數組。spa
2. 字符串數組的長度計算指針
假如定義了一個二維的字符串數組,必須指定每一個維度的字符串最大數值多少。其次計算該二維數組中有多少個數組的話,此處必須用二維數組的形式表示,不能夠用指針數組的形式表示。code
1 char PRODUCTNAME1[][10] = {"SEC5630","SE5678","sdfsdfdfs"}; 2 printf("pro name = %d\n",sizeof(PRODUCTNAME1)/sizeof(PRODUCTNAME1[2])); 3 4 char *PRODUCTNAME1[10] = {"SEC5630","SE5678","sdfsdfdfs"}; //指針數組,不能夠用上面的計算方式獲得該二維數組中有多少個字符串
3. 關於變量的定義,若是定義了某個變量而且在定義時賦值的話,該變量要在.c文件中,不該在.h文件中blog
4. 定義一個字符串數組,sizeof和strlen的區別字符串
1 char tmpstr[] = {"12345"}; 2 3 printf("PRODUCTNAME = %d\n",sizeof(tmpstr)); 4 printf("pro name = %d\n",strlen(tmpstr));
如上輸出結果爲: 6 // 5class
所以可得,sizeof計算字符串長度時,包括最後的‘\0’變量
strlen函數計算字符串長度時,不包括最後結尾的‘\0’ 二維數組