zoukankan      html  css  js  c++  java
  • C语言 > 数组和指针

    C语言 数组和指针

    const:

    关于指针和const需要注意一些规则。首先,把const数据或非const数据的地址初始化为指向const的指针或为其赋值是合法的。

    然而,只能把非const数据的地址赋给普通指针。(即const的值不能赋给普通指针);

     

    指针和多维数组:

    zippo == &zippo[0];

    zippo+2 == &zippo[2];

    *(zippo+2) == &zippo[2][0];

    *(zippo+2) + 1 == &zippo[2][1];

    *(*(zippo+2) + 1) == zippo[2][1];

     

    指向多维数组的指针:

    Int (* pz)[2];  >> pz指向一个内含两个int类型的数组;

    (如: zippo[4][2];)

    Int * pax[2];  >> pax 是一个内含两个指针元素的数组 , 每个元素都指向int的指针;

    (差不多和数组的意思一样,就是声明了两个指针,一个是pax[0],另一个是pax[1])

    (如pax [0] = zippo; pax[1] = zippp;  >> *pax[0] == *pax[1];)

    数组变量是const的指针 , 所以不能被赋值 :

    int a[] <==> int * const a =….

    数组变量本身表达地址 , 所以 :

    int a[10]; int * p = a; // 无需用 & 取地址

    但是数组的单元表达是变量 , 需要用 & 取地址

    a == &a[0]

    [ ] 运算符可以对数组做 , 也可以对指针做 :

    p[0] <==> a[0];

    * 运算符可以对指针做 , 也可以对数组做 :

    *a = 25;

  • 相关阅读:
    设计模式天天练。
    系统资料库msdb置疑或者不可用的解决方法
    依赖注入IOC
    重载、重写、隐藏的区别
    ASP.NET中的HttpWorkerRequest对像及其应用
    ASP.NET的错误处理机制
    Web.Config
    asp.net 2.0页面生命周期
    FileUpLoad控件上传大容量文件
    大文件上传
  • 原文地址:https://www.cnblogs.com/cccj/p/7724982.html
Copyright © 2011-2022 走看看