• C语言指针和数组


    #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("数组名[下标]访问数组元素:
    ");
         for (int i=0; i<5; i++)
         {
             printf("arr[%d] = %d
    ", i, arr[i]);
         }
         printf("指针变量名[下标]访问数组元素:
    ");
         for (int i=0; i<5; i++)
         {
             printf("arr[%d] = %d
    ", i, p[i]);
         }
         printf("*(p + i)访问数组元素:
    ");
         for (int i=0; i<5; i++)
         {
             printf("arr[%d] = %d
    ", i, *(p + i));
         }
    
         printf("指针变量+1,地址值究竟加多少,取决于指针的类型:
    ");
    
         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的地址:
    ");
         printf("     int类型当前地址是:%p
    ",&c);
         printf("     int类型加1后地址是:%p
    ",pi + 1);
    
         printf("float类型的指针加1的地址:
    ");
         printf("     float类型当前地址是:%p
    ",&d);
         printf("     float类型加1后地址是:%p
    ",pf + 1);
    
         printf("double类型的指针加1的地址:
    ");
         printf("     double类型当前地址是:%p
    ",&e);
         printf("     double类型加1后地址是:%p
    ",pe + 1);
    
         printf("char类型的指针加1的地址:
    ");
         printf("     char类型当前地址是:%p
    ",&f);
         printf("     char类型加1后地址是:%p
    ",pch + 1);
    
         return 0;
    }
    数组名[下标]访问数组元素:
    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
  • 相关阅读:
    Android系统根文件系统目录结构
    4面 晶晨半导体 问题总结
    linux 工作队列
    Linux tasklet 的测试
    ArbotiX-M引脚说明
    locobot
    视频地址
    S1雷达ROS包更新指南
    rospy
    mx-28在 labview环境下的开发
  • 原文地址:https://www.cnblogs.com/heml/p/3530194.html
Copyright © 2020-2023  润新知