首页 > 其他 > 详细

打印指针指向的地址值

时间:2014-07-07 08:57:57      阅读:412      评论:0      收藏:0      [点我收藏+]

废话不多说,直接上错误代码:

bubuko.com,布布扣
static void print_cpu_src(uint8_t * src,int stride){
    int i,j;
    printf("Magnum  cpu src addr == %p, stride ==%d:\n",&src,stride);
     for (i = 0; i < 11; ++i) {
             printf("\n");
            for (j =0; j < 4; ++j) {
                          printf("%d ,", src[j]);
            }
            src +=  stride;
            printf("new src addr %p\n",&src);
          }
     printf("\n");
}
View Code

输出结果:

Magnum cpu src addr == 000000000022F4C0, stride ==800:

129 ,124 ,122 ,124 ,new src addr 000000000022F4C0

130 ,125 ,122 ,125 ,new src addr 000000000022F4C0

132 ,125 ,123 ,125 ,new src addr 000000000022F4C0

132 ,126 ,123 ,125 ,new src addr 000000000022F4C0

151 ,127 ,124 ,126 ,new src addr 000000000022F4C0

151 ,127 ,125 ,126 ,new src addr 000000000022F4C0

153 ,128 ,125 ,127 ,new src addr 000000000022F4C0

154 ,128 ,125 ,127 ,new src addr 000000000022F4C0

157 ,129 ,125 ,127 ,new src addr 000000000022F4C0

158 ,129 ,125 ,127 ,new src addr 000000000022F4C0

161 ,130 ,125 ,128 ,new src addr 000000000022F4C0

每次输出的地址值都是一样的,自然想到其实输出的是指针变量的地址值,指针变量是没有变化的变化的是指向的内存地址。

修改,新的代码如下:

bubuko.com,布布扣
static void print_cpu_src(uint8_t * src,int stride){
    int i,j;
    printf("Magnum  cpu src addr == %p, stride ==%d:\n",(int)src,stride);
     for (i = 0; i < 11; ++i) {
             printf("\n");
            for (j =0; j < 4; ++j) {
                          printf("%d ,", src[j]);
            }
            src +=  stride;
            printf("new src addr %p\n",(int)src);
          }
     printf("\n");
}
View Code

总结:

其实指针 *src,  src 就是指向的地址值,直接打印它即可

打印指针指向的地址值,布布扣,bubuko.com

打印指针指向的地址值

原文:http://www.cnblogs.com/biglucky/p/3820792.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!