标题:自己动手给指针加 1,结果就看不懂*p 了
只看楼主
右倾一世
Rank: 1
等 级:新手上路
帖 子:4
专家分:5
注 册:2014-4-10
得分:0 
已为野指针
2014-09-23 20:36
dcl2014
Rank: 4
等 级:业余侠客
威 望:1
帖 子:58
专家分:273
注 册:2014-9-20
得分:0 
//你如果这样改 就可以了
#include <stdio.h>
#include <stdlib.h>

int main(){
    int a[3] = {1, 2, 3};
    int *p = a;
      
    printf("%p\n", p);   //这时printf显示出p的值是12ff3C

    printf("%d\n", *p);    //输出1
//    修改P的地址
     p =(int *)0x12ff40;        //加上4个字节
    printf("%p\n", p);    //这时printf显示出p的值是12ff40

    printf("%d\n", *p);    //程序运行到这里显示结果2

    return 0;
}
2014-09-23 20:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-436482-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.723780 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved