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 指针和数组

  • 相关阅读:
    背水一战 Windows 10 (90)
    背水一战 Windows 10 (89)
    背水一战 Windows 10 (88)
    背水一战 Windows 10 (87)
    背水一战 Windows 10 (86)
    背水一战 Windows 10 (85)
    背水一战 Windows 10 (84)
    背水一战 Windows 10 (83)
    背水一战 Windows 10 (82)
    背水一战 Windows 10 (81)
  • 原文地址:https://www.cnblogs.com/stemon/p/3356545.html
Copyright © 2011-2022 走看看