1. int i = 0;声明一个int类型的值
  2. int a [5] = {1,2,3,4,5};声明一个数组.
  3. int* p = &a; 声明一个指针指向地址.
  4. a == &a == &a[0] 这里&为取地址, a本身表示的就是数组的地址.数组地址指向数组的首值地址.
  5. *p==a[0] *p表示取地址中值,因为int* p = &a(这里的星和*p不一样,这里表示"声明类型",*p表示"取值"), 而a地址又为首项地址,所以取值后为首项值.
  6. *(p+1) == a[1] 数组中的次项地址为首项地址加一, 取首项+1的值就为取次项的值.
  7. 指针就是门牌号, 门牌号做乘除是没有意义的,只能做加减.
    指针的运算一般和数组相关,因为数组是一块连续的内存空间, 不连续的内存空间做加减也是没有意义的.
  8. 程序的运行过程: 硬盘加载到内存中被CPU执行.
  9. 内存分区: data(存放一些常量), code(存放方法,代码), heap(堆,不连续的内存区域malloc方法分配的内存在此区域), stack(栈,连续的内存区域,系统分配的内存在此区域)
  10. 动态分配内存

                                c入门小记

相关文章:

  • 2021-08-29
  • 2021-08-11
  • 2021-05-20
  • 2021-11-30
  • 2022-12-23
  • 2021-11-28
  • 2022-01-03
  • 2022-12-23
猜你喜欢
  • 2021-07-14
  • 2021-08-28
  • 2021-08-06
  • 2022-12-23
  • 2022-12-23
  • 2021-09-04
相关资源
相似解决方案