解释C语言中指针和数组的概念

cserver side programmingprogramming更新于 2024/11/23 2:51:00

指针和数组

编译器为数组的所有元素分配连续的内存位置。

基地址是数组中第一个元素的位置。

例如,int a [5] = {10, 20,30,40,50};

五个元素的存储方式如下 −

如果‘p’声明为整型指针,则数组‘a’可以通过以下赋值 − 指向

p=a
或
p=&a[0];

通过使用 p++ 从一个元素移动到另一个元素,可以访问 ‘a’ 的每个值。当指针递增时,其值会增加它指向的数据类型的大小。此长度称为 “比例因子”。

指针 p 和变量 a 之间的关系如下所示 −

P   = &a[0] = 1000
P+1 = &a[1] = 1004
P+2 = &a[2] = 1008
P+3 = &a[3] = 1012
P+4 = &a[4] = 1016

元素的地址是使用其索引和数据类型的比例因子计算的。

示例

a[3] 的地址=基地址+(3*int 的比例因子)

            =1000+(3*4)

            =1000+12

            =1012

*(p+3) 给出 a[3] 的值
a[i] = *(p+i)

程序

#include<stdio.h>
main (){
   int a[5];
   int *p,i;
   clrscr ();
   printf (”输入 5 个元素”);
   for (i=0; i<5; i++)
      scanf (“%d”, &a[i]);
   p = &a[0];
   printf (“数组元素为”);
   for (i=0; i<5; i++)
      printf(“%d”, *(p+i));
   getch();
}

输出

输入5个元素:10 20 30 40 50
数组元素为:10 20 30 40 50

相关文章