黑马程序员技术交流社区

标题: 自学基础 [打印本页]

作者: 奔波霸儿    时间: 2015-11-11 19:54
标题: 自学基础
#include <stdio.h>
int main(int argc, char * argv[])
{
       
   int num;

   num = 10;

        int *p = &num;
   printf("第1个字节地址为:%p,值为:%d\n",p,*p);
   printf("第2个字节地址为:%p,值为:%d\n",p+1,*(p+1));
        printf("第3个字节地址为:%p,值为:%d\n",p+2,*(p+2));
   printf("第4个字节地址为:%p,值为:%d\n",p+3,*(p+3));
        getchar();
        return 0;
}


作者: hei军    时间: 2015-11-13 01:00
自学能写出这样的   棒棒的
作者: springD    时间: 2015-11-13 14:28
坚持自学,必能突破。正在学习指针、
作者: yufang1993    时间: 2015-11-15 00:00
默默点赞!!!!!!!!!!!!!!!!!!!
作者: cube川    时间: 2015-11-15 12:16
你这后面的指针指向的地址不是第234个字节的地址,指针平移后直接向后平移了四个字节,你这样写是错的,属于野指针了。
作者: 大雷兄    时间: 2015-11-15 12:51
你运行过没有?

作者: fenghun1991    时间: 2015-11-15 13:03
强势围观
作者: 一曲繁华尽    时间: 2015-11-15 16:56
你定义了一个INT类型的指针。那么这个指针+1就是相隔四位的下一个地址
如果你要看你定义的变量的每一个字节的话 ,使用char类型的指针输出%d即可
作者: 勇猛的小黑    时间: 2015-11-15 17:24
可以可以
作者: 江流石不动    时间: 2015-11-15 17:39
围观楼上的
作者: cube川    时间: 2015-11-15 18:20
int *p 改成char *p   要不然会往下移动四个字节,char类型是移动一个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2