zoukankan      html  css  js  c++  java
  • 【c++】指针

    指针的定义和初始化

    //定义一个strA初始化为"ABC"
    string strA("ABC");
    //定义一个指向string类型的指针p1,并初始化指向strA对象
    //*操作符表明p1是一个指针变量;&是取地址操作符
    string *p1 = &strA;
    //*是取值操作符,取p1指针指向的strA对象的值
    cout << *p1 << endl;//ABC
    //通过指针可以修改指向对象的值
    cout << strA << endl;//ABC
    *p1 = "D";
    cout << strA << endl;//D

    连续声明多个指针容易导致混淆

    //p2是指针变量,p3不是指针变量
    string *p2, p3;

    指针操作

    //定义一个指针
    string *p1;
    string strA("ABC");
    //指针指向strA对象
    p1 = &strA;
    string strB("D");
    //通过指针修改strA对象
    *p1 = "ABC-";
    //指针指向strB对象
    p1 = &strB;
    //通过指针修改strB对象
    *p1 = "D-";
    //输出
    cout << strA << endl;//ABC-
    cout << strB << endl;//D-

    指向指针的指针

    int ival = 1024;
    int *pi = &ival;
    int **ppi = &pi;
    cout << ival << endl;//1024
    cout << *pi << endl;//1024
    cout << **ppi << endl;//1024

    使用指针访问数组元素

    int ia[6] = { 5,2,4,6,8,9 };
    int *ip = ia;//指向ia[0]  
    cout << *ip  << endl;//5
    ip = &ia[4];//指向ia[4]  
    cout << *ip << endl;//8
    cout << *(ip+1) << endl;//9 //指向ia[5]  

    使用指针遍历数组

    const int iSize = 10;
    int iArr[iSize] = { 0,1,2,3,4,5,6,7,8,9 };
    //指向第一个元素的指针
    int *iBegin = iArr;
    //指向最后一个元素后面的指针
    int *iEnd = iArr + iSize;
    //循环输出数组元素
    for (int *ip = iBegin; ip != iEnd; ip++)
    {
        cout << *ip << endl;
    }
    //合起来写
    for (int *ip = iArr; ip != (iArr + iSize); ip++)
    {
        cout << *ip << endl;
    }
  • 相关阅读:
    PHP防盗链的基本思想&&防盗链的设置方法
    PHP程序员遇到职业问题时,是离职?还是坚持?
    如何学习Linux性能优化?
    PHP到底有多牛?你所知道的网站都在用它
    Linux 与 Unix 到底有什么不同?区别在哪?
    用PHP打造一个高性能好用的网站
    七夕-心形表白-简单css代码
    css雪碧图-css精灵图
    jquery-时间轴滑动
    js-进度条-动画
  • 原文地址:https://www.cnblogs.com/KMould/p/15152097.html
Copyright © 2011-2022 走看看