首页 > 编程语言 > 详细

c之数组指针学习

时间:2020-05-19 21:53:20      阅读:52      评论:0      收藏:0      [点我收藏+]
#include <stdio.h>

int main(int argn ,char *argv[])
{
    int buf[10] = {1,2,3,4,5,6,7,8,9};
    int (*p1)[3] = &buf;
    int (*p2)[3] = buf;
    int * p3 = (int*)((int)buf + 1);
    int test = *((int *)(p1 + 1));

    return 0;
}

输出结果:

Breakpoint 1, main (argn=1, argv=0x7ffd994dd1a8) at /home/43521/TestDemoC/./Src/main.c:4
4       {
(gdb) n
5               int buf[10] = {1,2,3,4,5,6,7,8,9};
(gdb) n
6               int (*p1)[3] = &buf;
(gdb) n
7               int (*p2)[3] = buf;
(gdb) n
8               int * p3 = (int*)((int)buf + 1);
(gdb) n
9               int test = *((int *)(p1 + 1));
(gdb) n
11              return 0;
(gdb) p buf
$1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
(gdb) p &buf
$2 = (int (*)[10]) 0x7ffd994dd090
(gdb) p p1
$3 = (int (*)[3]) 0x7ffd994dd090
(gdb) p p2
$4 = (int (*)[3]) 0x7ffd994dd090
(gdb) p p3
$5 = (int *) 0xffffffff994dd091
(gdb) p test 
$6 = 4
(gdb) 

 

c之数组指针学习

原文:https://www.cnblogs.com/weiyouqing/p/12919176.html

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