解释C编程语言中的指针数组
指针是一个存储另一个变量地址的变量。
特点
- 指针节省内存空间。
- 由于直接访问内存位置,指针的执行时间更快。
- 借助指针,可以高效地访问内存,即动态分配和释放内存。
- 指针与数据结构一起使用。
指针声明和初始化
考虑以下语句:
int qty = 179;
在内存中,变量可以表示如下:
声明指针
这意味着“p”是一个指针变量,它保存另一个整型变量的地址,如下所示:
Int *p;
指针的初始化
地址运算符 (&) 用于初始化指针变量。
例如:int qty = 175;
int *p;
p = &qty;
指针数组
它是地址的集合(或)指针的集合。
声明
以下是指针数组的声明:
datatype *pointername [size];
例如:
int *p[5];
它表示一个可以保存5个整型元素地址的指针数组。
初始化
“&”用于初始化。
例如:
int a[3] = {10,20,30}; int *p[3], i; for (i=0; i<3; i++) (or) for (i=0; i<3,i++) p[i] = &a[i]; p[i] = a+i;
访问
间接运算符 (*) 用于访问。
例如:
for (i=0, i<3; i++) printf ("%d", *p[i]);
示例程序
以下是指针数组的程序:
#include<stdio.h> main ( ){ int a[3] = {10,20,30}; int *p[3],i; for (i=0; i<3; i++) p[i] = &a[i]; printf ("elements of the array are
"); for (i=0; i<3; i++) printf ("%d \t", *p[i]); }
输出
执行上述程序时,会产生以下结果:
elements at the array are : 10 20 30
示例2
以下是指向字符串的指针数组的程序:
#include <stdio.h> #include <stdlib.h> int main(void){ char *a[5] = {"one", "two", "three", "four", "five"}; int i; printf ( "the strings are at locations:
"); for (i=0; i<5; i++) printf ("%d
", a[i]); return 0; }
输出
执行上述程序时,会产生以下结果:
The strings are at locations: 4210688 4210692 4210696 4210702 4210707
广告