zoukankan      html  css  js  c++  java
  • 一个考察指针的小程序

    下面有个小程序,输出结果是多少?

    #include<stdio.h>
    
    int main()
    {
        int a[5]={1,2,3,4,5};
        int *p, **k;
        p = a;
        k = &p;
        printf("%d",*(p++));
        printf("%d",**k);
        return 0;
    }
    

    输出结果应该为12; 

    分析:

    p开始指的是1, 而k是二级指针,k的值是p的地址,p++后,p的地址改变了,所以为2


    这里,如果没想明白,就容易认为,在k=&p的时候,k的值已经确定了。其实这里是错误的。

    p的值是一个int型的地址,k的值是一个int*指针,**k就是int的值,现在改变了



    每天早上叫醒你的不是闹钟,而是心中的梦~
  • 相关阅读:
    继承
    对象与类
    反射
    I/O流
    字符串
    Map的entrySet()方法
    接口与内部类
    Git Usage Summary
    HTML(5)
    毕业设计:下载
  • 原文地址:https://www.cnblogs.com/vintion/p/4116838.html
Copyright © 2011-2022 走看看