zoukankan      html  css  js  c++  java
  • 《C和指针》 读书笔记 -- 第8章 数组

    1.在C中,数组名的值是一个指针常量而不是指针变量,也就是数组第一个元素的地址。

    2.数组和指针的区别:

      声明一个数组时,编译器将根据声明所指定的元素数量为数组保留内存空间,然后再创建数组名,它的值是一个指针常量,指向这段空间的起始地址;

      声明一个指针时,编译器只为指针本身保留内存空间,并不为任何值分配内存空间。

    3.存储于静态内存的数组只初始化一次,也就是在程序开始执行之前,通过把数组声明为static来实现。

    4.int matrix[3][10];

      说明如下:

        【1】 matrix  指向包含10个整型元素的数组的指针  ------>指向数组的指针: int (*p)[10]=matrix

             matrix+1 指向下一行

        【2】 *(matrix+1)=matrix[1] 指向整型的指针

           *(matrix+1)+5 指向第二行第六个元素

           *(*(matrix+1)+5)=matrix[1][5]

    5.作为函数参数的多维数组,函数原型声明时必须写出第2个及以后各维的长度,

      void func2(int (*mat)[10]);

      void func2(int mat[][10]);

    6.指针数组

      int *api[10];

  • 相关阅读:
    CF 142B Tprimes
    CF 231A Team
    poj 2001 Shortest Prefixes ——字典树入门
    hdu 1039 Easier Done Than Said?
    poj 2528 Mayor's posters
    hdu 1061 Rightmost Digit
    poj 2503 Babelfish
    CF271 A. Beautiful Year
    poj 2752
    CF271 B. Prime Matrix
  • 原文地址:https://www.cnblogs.com/hello2mhb/p/3334688.html
Copyright © 2011-2022 走看看