zoukankan      html  css  js  c++  java
  • 第五章 指针和数组

    5.1 指针于地址

    指针是一种保存变量地址的变量,指针和数组有着密切的练习。

    标准C中引入void *代表通用指针类型(具体介绍看其他的博文)

    在学习指针之前,先看我们的内存是如何组织的:

    通常机器都有一系列连续编号或编址的存储单元,这些存储但愿可以单个进行操作,也可以以连续成组的方式操作

    通常机器的一个字节存储单元可以存放一个char类型的数据,两个相邻的字节存储单元可存储一个short类型的数据,而4个相邻的字节存储单元可存储一个long类型的数据。

    指针是能够存放一个地址的一组存储单元(通常是两个或4个字节)。例如:变量c的类型是char,指针p是指向c的指针变量,则

    指针变量的声明:int *ip;表明表达式*ip的结果是int类型的。double *dp, atof(char *);表示*dp和atof(char *)函数的值都是double类型的。

    指针只能指向某种特定类型的对象,也就是说,每个指针都必须指向某种特定的类型数据。(void *指针除外)。

    优先级:一元运算符*和&的优先级比算术运算符的优先级高,所以

    1 y = *ip +1;//把ip指向的对象的值取出来,加1后赋值给y
    2 //一下三种写法是等价的
    3 *ip += 1;//将ip指向的对象的值加1
    4 ++*ip;
    5 (*ip)++;
    View Code

    但是注意:(*ip)++中的圆括号不可少,否则是对ip进行加1运算,而不是对ip指向的对象进行加1运算。因为类似于这样的一元运算符遵循从右至左的结合方式。(这里测试两者的不同之处,代码实例)。

    5.2 指针和数组

  • 相关阅读:
    BZOJ3065(替罪羊树套线段树)
    BZOJ3052(树上带修莫队)
    BZOJ1095(动态点分治+堆)
    NOIWC颓废记
    BZOJ2125 最短路
    Simpson积分(BZOJ2178)
    BZOJ4555 [Tjoi2016&Heoi2016]求和
    NTT+多项式求逆+多项式开方(BZOJ3625)
    Miller-Rabin,Pollard-Rho(BZOJ3667)
    单纯形求解线性规划(BZOJ1061)
  • 原文地址:https://www.cnblogs.com/stemon/p/3356545.html
Copyright © 2011-2022 走看看