zoukankan      html  css  js  c++  java
  • 引用、指针

    &的三个含义:位与、引用变量说明符、取地址运算符

    *的三个含义:乘、指针变量说明符、取值运算符

    【引用】:引用变量与被引用变量同时指向同一内存地址,其一改变,两者都改变。

    &——引用变量说明符,xa——引用变量(类型要与x一致,且不能再引用其他变量)

    #include <iostream>
    using namespace std;
    int main() {
        int x = 10;
        int &xa = x;//声明引用变量xa
        cout << xa<<endl; //10
        x = 11;
        cout << xa; //11
        return 0;
    }

    &取地址运算符

    int x=10; //定义变量,划定内存,4字节
    cout << &x; //程序每次执行时,x的内存地址可能不同,16进制显示

    【指针】*指针变量说明符、取值运算符,p指针变量(地址,类型与x一致),*p地址内容。先划定内存,再使用指针

    int x;
    int *p=&x; //定义指针变量p,存储x的地址。int *p; p=&x;
    *p=10;   //该地址内容为10,间接给x赋值
    cout<<*p; //10
    cout<<p;  //x的地址

    void类型指针变量:(预先不指定指针变量的类型,之后强制转换。即p可以指向任何类型)

    int x=10;
    void *p=&x;
    cout<<*(int *)p; //注意强制转换的格式

    常变量指针:指向常变量时,使用常变量指针(也可以指向变量,更改指向)

    const int x=10;
    const int *p=&x;
    cout<<*p;

    指针常变量:指针类型的常变量p,不能再更改指向。

    int x=10,y=20;
    int * const p=&x;
    p=&y; //错误
  • 相关阅读:
    windows 安装 anaconda
    全局路径规划--A*算法详解
    编码的种类
    request的encode和decode
    BGP的13条选路原则
    BGP路由黑洞 路由反射器 和联盟2021-07-28
    JMS-ActiveMQ-SpringBoot
    JMS-ActiveMQ-Spring
    JMS-中间件MQ-activeMQ入门
    spring-ssm整合
  • 原文地址:https://www.cnblogs.com/xixixing/p/10061328.html
Copyright © 2011-2022 走看看