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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 亮~ 中级黑马   /  2014-6-23 23:06  /  583 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include <stdio.h>
/*
1.数组元素的访问方式
int ages[5];
int *p;
p = ages;
1> 数组名[下标]  ages
2> 指针变量名[下标] p
3> *(p + i)
2.指针变量+1,地址值究竟加多少,取决于指针的类型
  int *   4
  char *  1
  double * 8
*/
void change(int array[]);
int main()
{
    // 20个字节
    int ages[5] = {10, 11, 19, 78, 67};
   
    change(ages);
   
    return 0;
}
// 利用一个指针来接收一个数组,指针变量array指向了数组的首元素
void change(int *array)
{
    printf("%d\n", array[2]);
    //printf("%d\n", *(array+2));
}
/*
void change(int array[])
{
    int s = sizeof(array);
   
    printf("%d\n", s);
}*/
void test()
{
    double d = 10.8;
    double *dp;
    dp = &d;
   
    printf("dp = %p\n", dp);
    printf("dp + 1 = %p\n", dp + 1);
   
    int ages[5] = {10, 9, 8, 67, 56};
   
    int *p;
    // 指针变量p指向了数组的首元素
    p = &ages[0];
    // 数组名就是数组的地址,也是数组首元素的地址
    //p = ages;
   
    /*
     p ---> &ages[0]
     p + 1 ---> &ages[1]
     p + 2 ---> &ages[2]
     p + i ---> &ages
     */
   
    //printf("%d\n",  *(p+2));
   
    printf("%d\n",  p[2]);
   
    /*
     for (int i = 0; i<5; i++) {
     printf("ages[%d] = %d\n", i, *(p+i));
     }*/
   
   
    //    printf("%p\n", p);
    //    printf("%p\n", p + 1);
    //    printf("%p\n", p + 2);
}

0 个回复

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