C语言什么是指针数组?

ops/2024/12/22 13:11:25/

一、问题

        什么是指针数组?

二、解答

        数组的元素值为指针就是指针数组。指针数组是指⼀组有序的指针的集合。指针数组的所有元素都必须是具有相同存储类型和指向相同数据类型的指针变量。 指针数组说明的⼀般形式为:

类型说明符 *数组名[数组长度]

        其中,类型说明符为指针值所指向的变量的类型。

例如:

int *p[3]

        上⾯语句表示 p 是⼀个指针数组,它有三个数组元素,每个元素值都是⼀个指针,指向整型变量。

三、总结

        我们应注意尤其在排序时,采⽤普通的排序⽅法,逐个⽐较之后交换字符串的位置。 交换字符串的物理位置是通过字符串复制函数完成的。反复地交换将使程序执⾏的速度很慢,又增加了存储管理的负担。

        ⽤指针数组能很好地解决这些问题。把所有的字符串存放在⼀个数组中,把这些字符数组的⾸地址放在⼀个指针数组中,当需要交换两个字符串时, 只须交换指针数组相应两元素的内容(地址)即可,⽽不必交换字符串本⾝。


http://www.ppmy.cn/ops/19099.html

相关文章

tcp服务器端与多个客户端连接

如果希望Tcp服务器端可以与多个客户端连接,可以这样写: tcpServernew QTcpServer(this);connect(tcpServer,SIGNAL(newConnection()),this,SLOT(onNewConnection())); void MainWindow::onNewConnection() {QTcpSocket *tcpSocket;//TCP通讯的Sockettcp…

centOS7.9| 无root安装 openssl 1.1.1

这里写自定义目录标题 0.先安装 gcc121.下载和编译 openssl 1.1.12. 让 pkg-config 能找到.pc文件 0.先安装 gcc12 见之前的博客: 无root编译安装 gcc12 1.下载和编译 openssl 1.1.1 https://www.openssl.org/source/https://github.com/openssl/openssl/releases?page3 (2…

一个基于更新频率和卡片等级、浏览量的动态推荐排序算法

需求背景 真实场景会更复杂一些,下面抽象出一个简单的示例来举栗子: 比如现在有一个卡片列表,卡片自身有卡片的创建时间、卡片等级、浏览量几个关键字段。 如果单纯的根据卡片等级去排序,那么很容易导致一些高等级的旧卡片一直霸…

Java设计模式 _创建型模式_单例模式(懒汉式,饿汉式)

一、单例模式 1、单例模式(Singleton Pattern)是一种创建对象的设计模式。一个类负责创建自己的对象,同时确保只有1个对象被创建,这个类提供了一种访问其唯一的对象的方式,不需要在实例化该类的对象。从而保证了这个类…

计算机网络—— book

文章目录 一、概述1.1互联网的核心部分1.电路交换的主要特点2.分组交换的主要特点 1.2.计算机网络的性能1.速率2.带宽3.吞吐量4.时延5.利用率 1.3.计算机网络体系结构协议与划分层次具有五层协议…

自动化测试框架搭建步骤教程

说起自动化测试,我想大家都会有个疑问,要不要做自动化测试? 自动化测试给我们带来的收益是否会超出在建设时所投入的成本,这个嘛别说是我,即便是高手也很难回答,自动化测试的初衷是美好的,而测试…

docker 集群管理实战mesos+zookeeper+marathon(三)

接上文mesoszookeeper管理docker集群,已安装并成功启动mesos master和mesos slave。 https://www.toutiao.com/article/7221354604351537698/?log_from6b55db495da1d_1681366356776 这个教程主要演示部署和使用marathon 1.1 marathon概述 1.2 下载和解压marath…

计组-学习通-测验题4①

1.下列说法中,正确的是() I.半导体RAM信息可读可写,且断电后仍能保持记忆 II.动态RAM是易失性RAM,而静态RAM中存储信息是不易失的 III.半导体RAM是易失性的RAM,但只要电源不断电,所存信息是不…