每周小題-數組與指針
- 2019 年 11 月 28 日
- 筆記
來源:公眾號【編程珠璣】
作者:守望先生
ID:shouwangxiansheng
數組與指針
下面代碼的輸出結果是什麼?
//來源:公眾號【編程珠璣】 #include<stdio.h> int main(void) { int a[5] = {1,2,3,4,5}; int *ptr = (int *)(&a+1); printf(「%d,%dn」,*(a+1),*(ptr-1)); }
涉及知識點可閱讀《C語言入坑指南-數組之謎》
傳值與傳指針
下面的代碼試圖通過getMemory函數獲取申請的內存,有什麼問題?該如何修改?
void getMemery(int *p)//公眾號:編程珠璣 { /*申請1024個int大小*/ p = malloc(sizeof(int)*1024); if(NULL == p) { printf("malloc failedn"); p = NULL; } }
相關知識參考《函數參數的傳值和傳指針有什麼區別?》
注意
- 以上寫法實際中不應該出現
- 認真對待編譯器的警告