解释C语言中的指针和数组概念
指针和数组
编译器为数组的所有元素分配连续的内存位置。
基地址是数组中第一个元素的位置。
例如,int a [5] = {10, 20,30,40,50};
这五个元素存储如下:
如果'p'被声明为整型指针,则数组'a'可以通过以下赋值进行指向:
p=a or p=&a[0];
每个'a'的值都可以通过使用p++从一个元素移动到另一个元素来访问。当指针递增时,其值会增加它指向的数据类型的尺寸。此长度称为“比例因子”。
指针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) gives the value of a[3] a[i] = *(p+i)
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
程序
#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
广告