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;
    }
  • 相关阅读:
    sabaki and leelazero
    apply current folder view to all folders
    string operation in powershell
    wirte function in powershell
    add environment path to powershell
    Module in powershell
    sql prompt
    vmware中鼠标在部分区域不能使用
    调整多个控件的dock的顺序
    行为型模型 策略模式
  • 原文地址:https://www.cnblogs.com/KMould/p/15152097.html
Copyright © 2011-2022 走看看