C语言指针和数组

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("数组名[下标]访问数组元素:\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;
}
C语言指针和数组
C语言指针和数组
数组名[下标]访问数组元素:
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
C语言指针和数组

C语言指针和数组

上一篇:mysql的第一篇关于DQL的文章


下一篇:文本消息时,支持插入跳小程序的文字链