A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 0919Gflag 中级黑马   /  2015-10-9 23:32  /  609 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include<stdio.h>
int main(){
    /*
     指针数组的表示:
     int *p[2];
     数组指针的表示:
     int (*p)[2];
     指针有且仅能进行加法运算
     
     */
    /*
     1.数组当参数传递的时候实际传递的是数组第一个元素的地址
     2.数组的指针和数组第一个元素的指针数值相等但是类型不一致
     
     */
    int b=2;
    int a=1;
    int c=3;
    int *p=&a;
    printf("%d----a的地址为%p----指针p的地址为%p\n",*p,&a,p);
    p=p+1;
    printf("%d----b的地址为%p----指针p的地址为%p\n",*p,&b,p);
    p=p-2;
    printf("%d----c的地址为%p----指针c的地址为%p\n",*p,&b,p);
   
   
    //练习
    int *p1=&a;
    int *p2=&b;
    int *arr[2]={p1,p2};
    int **p3=arr;//此处arr指的是指针数组的第一个元素即P1
    printf("**p3=%d\n",**p3);
    return 0;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马