zoukankan      html  css  js  c++  java
  • 指向元素的指针和指向数组的指针,行级指针

    • 这俩概念还是很不一样,请君明鉴
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    void main()
    {
        //指向元素的指针和指向数组的指针
        int b[10] = {1,2,3,4,5,6,7,8,10};
        int *p = b;//代表指向数组首元素地址的指针!!!
        int(*q)[10] = &b;//代表指向数组的指针!!!
        printf("指向数组首元素地址的指针,代表的内存大小%d
    ",sizeof(*p));
        printf("指向数组的指针,代表的内存大小%d
    ", sizeof(*(q)));
    
        getchar();
    }

    •  对于一个二维数组,指针的含义
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    void main()
    {
        int a[3][4] = { { 9, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
        printf("a的地址:%p  其指向的数据大小%d
    ",a,sizeof(*(a)));
        printf("&a的地址:%p  其指向的数据大小%d
    ", &a, sizeof(*(&a)));
        printf("*a的地址:%p  其指向的数据大小%d
    ", *a, sizeof(**a));
        getchar();
    }

     

     尽管内存大小都一样,但是从取地址操作来看,a为指向一行的指针,&a代表指向整个二维数组的指针,*a代表a指向的那一行的首元素的地址

    • 行指针的表示方法
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    void main()
    {
    
        //printf();
        int a[3][4] = {66, 2, 3, 4 , 5, 6, 7, 8 ,9, 10, 11, 12 };
        //*(a + 1)
        printf("a代表行指针,指向一行,取出这个行地址操作*a,可知,这个行包含了4个整型元素。大小为%d
    ", sizeof(*a));
        printf("&a代表指针指向整个二维数组,通过取地址操作*&a可知,二维数组大小%d
    ", sizeof(*&a));
        printf("*a代表指针指向行的首元素,通过取地址操作**a可知,这个元素大小%d,其值为%d
    ", sizeof(**a),**a);
        getchar();
    }

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    void main()
    {
        int a[3][4] = { { 66, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
        printf("(*a+2)表示第一行第三个元素的地址,不信?那咱试试%d
    ",*(*a+2));
        printf("*(a+2)的大小%d,a[2]的大小%d
    ",sizeof(**(a+2)),sizeof(*a[2]));//说明他们同为列指针
        printf("a+2的大小为%d
    ",sizeof(*(a+2)));//说明a+2是行指针
        getchar();
    }

     由此可见a+2是行指针指向第三行

  • 相关阅读:
    騎士宣言
    [洛谷P1631] 序列合并
    [HNOI2006]公路修建问题
    [洛谷2068] 统计和
    [洛谷P1168] 中位数
    【模板】可持久化数组(可持久化线段树/平衡树)
    【模板】可持久化线段树 1(主席树)
    [JSOI2008]最大数maxnumber
    NOI导刊2010提高(06) 黑匣子
    [洛谷1533] 可怜的狗狗
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/11957124.html
Copyright © 2011-2022 走看看