zoukankan      html  css  js  c++  java
  • 真-浅谈指针

    有些博客里的代码总是带一点指针,看不懂,,难受的我,所以去稍稍了解了下,讲道理,只是能看懂了而已,我是不会用指针写的,这里仅有一点点东西,所以想要透彻指针的大佬就..别了


    简·单 认识一下

    int i = 30; char a = 't'; 的时候 , 其实在内存中申请了一个空间 , 看图就明白了

    img

    &i 的含义 : 返回 (i) 变量的地址编号

    • int i = 1; cout << &i << " " << i;
    • 分别输出看看 ↓
    • 0016FD14 1 (前面那个是空间编码为6的内存地址

    int *pi 如上图 , 跟变量没啥区别 , 但是存的东西不一样 ,

    pi = &i 的含义 : 把 (i) 地址的编号赋值给 (pi) , 所以 指针变量所存的内容就是内存的地址编号

    • int i = 1, *pi; pi = &1;
    • 输出 *pi = 1

    指针与数组名

    通过 数组名 访问数组元素

    int a[] = {1,2,3,4,5};
    for(int i=0; i<5; i++) cout << a[i] << "
    ";
    //此代码和下面这个输出一样
    
    int a[] = {1,2,3,4,5};
    for(int i=0; i<5; i++) cout << *(a+i) << "
    ";
    

    通过 指针 访问数组元素

    int *pa, a[] = {1,2,3,4,5};
    pa = a; //直接把数组名 a 赋给了指针 pa
    for(int i=0; i<5; i++) cout << pa[i] << "
    ";
    //此代码和下面这个输出一样
    
    int *pa, a[] = {1,2,3,4,5};
    pa = a;
    for(int i=0; i<5; i++) cout << *(pa+i) << "
    ";
    
    

    奇怪の操作

    int *pa, a[] = {1,2,3,4,5};
    pa = a;
    for(int i=0; i<5; i++) {
        cout << *pa;
        pa ++;
    } //输出和上面代码输出一样, 亲测有效
    

    此外还有其他指针的 神 奇 操作 , 不过我用不到hhh(逃

    撒花(。・・)ノ❀❀

    而我们终其一生,都希望能成为更好的人。
  • 相关阅读:
    怎么判断是从微信浏览器打开还是手机自带的浏览器(其他浏览器)打开?
    h5移动端页面强制横屏
    苹果的正常显示,安卓的不知道写了什么白屏了
    截取地址栏的最后一个参数
    检测手机号码的正则表达式
    js判断是不是在微信浏览器打开?
    LArea插件选中城市,确定之后又很难再次选择城市?
    display: inline-block 布局
    调试
    时间
  • 原文地址:https://www.cnblogs.com/moziii/p/13263287.html
Copyright © 2011-2022 走看看