首页 > 编程语言 > 详细

C语言指针和数组

时间:2014-01-23 02:52:51      阅读:363      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
#include <stdio.h>
int main()
{
    /*********************************************
     *
     *  指针和数组:
     *     定义数组:数组名就是数组第一个元素的地址
     *      int ages[5];
     *      int *p;
     *      p = ages;
     *     访问数组元素的方法:
     *     1、数组名[下标]  ages[i]
     *     2、指针变量名[下标] p[i]
     *     3、*(p + i)
     *
     *  指针变量+1,地址值究竟加多少,取决于指针的类型
     *  int *   4
     *  char *  1
     *  double * 8
     *
     **********************************************/
     int arr[5] = {1,2,3,4,5};
     //指针变量此时指向的是数组的首元素
     int *p = arr;
     printf("数组名[下标]访问数组元素:\n");
     for (int i=0; i<5; i++)
     {
         printf("arr[%d] = %d\n", i, arr[i]);
     }
     printf("指针变量名[下标]访问数组元素:\n");
     for (int i=0; i<5; i++)
     {
         printf("arr[%d] = %d\n", i, p[i]);
     }
     printf("*(p + i)访问数组元素:\n");
     for (int i=0; i<5; i++)
     {
         printf("arr[%d] = %d\n", i, *(p + i));
     }

     printf("指针变量+1,地址值究竟加多少,取决于指针的类型:\n");

     int c = 10;
     float d = 11.0f;
     double e = 12.0;
     char f = A;
     int *pi = &c;
     float *pf = &d;
     double *pe = &e;
     char *pch = &f;
     printf("int类型的指针加1的地址:\n");
     printf("     int类型当前地址是:%p\n",&c);
     printf("     int类型加1后地址是:%p\n",pi + 1);

     printf("float类型的指针加1的地址:\n");
     printf("     float类型当前地址是:%p\n",&d);
     printf("     float类型加1后地址是:%p\n",pf + 1);

     printf("double类型的指针加1的地址:\n");
     printf("     double类型当前地址是:%p\n",&e);
     printf("     double类型加1后地址是:%p\n",pe + 1);

     printf("char类型的指针加1的地址:\n");
     printf("     char类型当前地址是:%p\n",&f);
     printf("     char类型加1后地址是:%p\n",pch + 1);

     return 0;
}
bubuko.com,布布扣
bubuko.com,布布扣
数组名[下标]访问数组元素:
arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 4
arr[4] = 5
指针变量名[下标]访问数组元素:
arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 4
arr[4] = 5
*(p + i)访问数组元素:
arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 4
arr[4] = 5
指针变量+1,地址值究竟加多少,取决于指针的类型:
int类型的指针加1的地址:
     int类型当前地址是:0022feb8
     int类型加1后地址是:0022febc
float类型的指针加1的地址:
     float类型当前地址是:0022feb4
     float类型加1后地址是:0022feb8
double类型的指针加1的地址:
     double类型当前地址是:0022fea8
     double类型加1后地址是:0022feb0
char类型的指针加1的地址:
     char类型当前地址是:0022fea7
     char类型加1后地址是:0022fea8
bubuko.com,布布扣

C语言指针和数组

原文:http://www.cnblogs.com/heml/p/3530194.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!