每周小題-數組與指針

  • 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;      }  }

相關知識參考《函數參數的傳值和傳指針有什麼區別?

注意

  • 以上寫法實際中不應該出現
  • 認真對待編譯器的警告