每周小题-数组与指针

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

相关知识参考《函数参数的传值和传指针有什么区别?

注意

  • 以上写法实际中不应该出现
  • 认真对待编译器的警告