zoukankan      html  css  js  c++  java
  • C指针QQ群问答

    指针一般认为是一个地址常量,但是指针变量指的是变量所取的值为地址的变量

    指针变量在使用中一般称作指针
    但两者所指并不相同

    const在星号右边,则这是个常量指针,在星号左边,则被指物是常量.

    但是对于迭代器 const vetor<int>::iterator iter // 却是指针是一个常量,他有自己的常量迭代器类型

    vector<int>::const_iterator

    指针变量是指向指针(即指针)的变量 

    指针存储地址,数组什么都可以存

    数组不支持++,--,+=,-=- -
    因为是常量指针
    指针常量 - -
    - -指针变量多了可以赋值的 

    那指针变量跟指针有什么区别

    整形变量,和10的区别

    &出来的都是只读指针
    *p 为指针变量 &i i变量的地址

    XX变量- -就是放XX的变量
    指针变量就是存放指针的变量
    p不是i的指针

    就像int a

    a不是10的整形

    p是指针变量

    &i才是i的指针

    int a = 10;
    那么a的值就是10
    指针是地址加上数据的类型
    指针变量也是一种变量

    p=&i,p指向i,&ii的指针

    既然是变量- -就是存放这个变量类型的东西

    那个变量专门存放地址


    就像两种类型的指针必须要强制转换一样

    I的地址指针

    const int *p;
    int *p=0x00000000 const;
    const int *p=0x00000000 const;
    搞清楚这3个指针

    const int *p;

    不能改变地址

    int *p=0x00000000 const;

    不能改变地址

    const int *p=0x00000000 const;

    不能改变地址里面的值

    第一个是不能改变地址里的数值
    第二个是不能改变指向的地址
    第三个是不能改变指向的地址,也不能改变指向地址里的值

    int a=123456789,b=987654321;

    const int *p;可以修改指向地址,但是只能读地址,不能写,*p=321,错误

    int *const p1=&a ;不能修改指向地址,但是可以读写地址,p1=&b,错误

    const int *const p2=&a ;既不能修改指向地址,也不能写地址,只能读地址,*p2=123,错误,p2=&b,错误

    const是一个C语言的关键字,它限定一个变量不允许被改变


  • 相关阅读:
    SoapUI开源版简单定制报告1
    python json模块 字典 输出中文
    Django文件上传机制用法详解(转)
    选择排序
    插入排序
    Python单元测试框架 unittest
    Design Pattern —— Prototype /Template Method/Iterator/Composite/Bridge
    Design Pattern ——Factory Method&Abstract Factory
    Design Pattern ——Builder
    JAVA泛型那些事儿
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3065836.html
Copyright © 2011-2022 走看看