zoukankan      html  css  js  c++  java
  • c++ 指针和内存

    使用指针访问数组元素
    c++语言中,指针和数组密切相关。
    *****************************
    int ia[] = {0,2,4,6,8};
    int *ip = ia;// ip points to ia[0]
    *****************************
    指针的算数操作
    与其使用下标操作,倒不如通过指针的算数操作来获取指定内容存储地址。
    指针的算数操作和迭代器的算术操作以相同的方式实现。
    使用指针的算数操作在指向数组某个元素的指针上加上或减去一个整数数值
    就可以计算出指向数组另一个元素的指针值:
    *****************************
    ip = ia;
    int *ip2 = ip +4;// ip2 points to ia[4]
    *****************************
    通常,在指针上加上或减去一个整数数值n等效于获得一个新指针,该新指针
    指向指针原来指向的元素之后或之前的第n个元素。
    c++读取数组时可以让它越界(实际就是个指针你指哪里,就可以知道里面的
    内容是啥),java不行直接抛出异常。

    思考
    为什么指针ip+4指向的是ia[4]而不是+4bit呢?可不可以让一个指针指向ip+1
    bit后的地址?要是不行,byte呢?

    write by fgd

  • 相关阅读:
    mac下安装oracle客户端
    Mac下安装tomcat
    eclipse上Git使用
    深拷贝1兼容多构造函数
    Oracle查询表大小,更新或查询太慢的时候
    Redis弱密码修改
    学习参考
    c#简单类型转换As<T>
    NPM相关
    java项目和npm项目命令窗口部署方便调试
  • 原文地址:https://www.cnblogs.com/wendao/p/cpp_pointer_and_memory_learning.html
Copyright © 2011-2022 走看看