卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章19791本站已运行344

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

指针和数组

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

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

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

这五个元素的存储如下所示 −

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

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

'
p=a
or
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*a的比例因子int)

=1000+(3*4)

=1000+12

=1012

'
*(p+3) gives the value of a[3]
a[i] = *(p+i)

程序

'
#include<stdio.h>
main (){
   int a[5];
   int *p,i;
   clrscr ();
   printf (”Enter 5 lements”);
   for (i=0; i<5; i++)
      scanf (“%d”, &a[i]);
   p = &a[0];
   printf (“Elements of the array are”);
   for (i=0; i<5; i++)
      printf(“%d”, *(p+i));
   getch();
}

输出

'
Enter 5 elements : 10 20 30 40 50
Elements of the array are : 10 20 30 40 50
卓越飞翔博客
上一篇: 如何使用 C# 将数组旋转 k 次?
下一篇: 返回列表

相关推荐

留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏