解释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
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C编程
C++
C#
MongoDB
MySQL
Javascript
PHP