C语言天花板——指针(进阶1)
接上次的指针初阶(http://t.csdnimg.cn/oox5s),这次我们继续的探寻指针的奥秘,发车咯!!!🚗🚗🚗

一、字符指针
可以看到我们将指针p给打印出来,就是字符串,我们将指针p解引用打印出来后,会发现就是首元素‘a’,进而也验证了我们的猜想。
总结:所以我们最后可以发现字符数组不仅可以表示字符,还可以表示字符串。
二、指针数组
我们在指针初阶的文章里提到过指针数组,简单的复习一下
那这种以指针类型为元素的数组怎么来用呢? 🤔🤔
可以使用指针数组模拟一个二维数组
当然我们也可以指针数组来管理字符串:
#include<stdio.h> int main() {//指针数组char* arr[5] = {"hello Tom", "hehe", "goodgood", "students", "C++"};int i = 0;for (i = 0; i < 5; i++){printf("%s\n", arr[i]);}return 0; }
![]()
三、数组指针
数组指针是指针
字符指针:是指向字符类型的指针
整形指针:是指向整型类型的指针
浮点型指针:是指向浮点类型的指针
那么
数组指针:是指向数组类型的指针
再来两个例子:供大家可以好好的琢磨一下到底该怎样写才能写出正确的格式
注意:如果像arr3一样没有数组大小的话,数组指针里面不能为空
![]()
实际上形参的形式应该是指针,初期写成数组形式,是便于初学者理解和使用
四、数组传参和指针传参
在写代码的时候难免要把【数组】或者【指针】传给函数,那函数的参数如何设计呢?🤔🤔
4.1一维数组传参
4.2二维数组传参
4.3一级指针传参
4.4二级指针传参
五、函数指针
数组指针 —— 指向数组的指针 —— 存放的是数组的地址 —— &数组名就是数组的地址
函数指针 —— 指向函数的指针 —— 存放的是函数的地址 —— 怎么得到函数的地址呢?&函数名么?
今天就给大家讲解这么多,希望可以和大家一起努力变强🍁🍁🍁
相关文章:
C语言天花板——指针(进阶1)
接上次的指针初阶(http://t.csdnimg.cn/oox5s),这次我们继续的探寻指针的奥秘,发车咯!!!🚗🚗🚗 一、字符指针 可以看到我们将指针p给打印出来,就是…...
二、深度测试(Z Test)
1.是什么 ①从渲染管线出发 ②书面上理解 所谓深度测试,就是针对当前对象在屏幕上(更准确的说是frame buffer)对应的像素点,讲对象自身的深度值与当前该像素点缓存的深度值进行比较,如果通过了,本对象再改…...
Vue_Bug VUE-ADMIN-TEMPLATE-MASTER electron build后无法登录
Bug描述: VUE-ADMIN-TEMPLATE-MASTER 项目在经过 electron 的 build 命令后,无法登录 问题原因: 大部分vue 前段项目 会使用 js-cookie 这个库 来操作浏览器的cookie 然而这个库 在electron下 会无法使用 (最坑的是还没报错&…...
睡衣内衣服装商城小程序的作用是什么
服装行业一直都是市场很重要的组成部分,每个人都需要,且根据品牌、样式作用等可以细分很多类目,其中睡衣内衣也有不小的市场规模,从业商家多、市场需求度高。 但同时睡衣内衣经营痛点也比较明显。 当今消费者习惯于线上消费&…...
idea怎么设置作者信息(详细)
目录 一:在Java类的开头自动注释作者名字和日期等信息 二:给Java的方法注释作者名字和日期等信息 1. 不可修改的模板:Postfix Completion 2. 可修改的模板:Live Templates tips:首先给大家推荐两款好用的免费软件&…...
产品经理如何有效跟进开发进度?
作为产品经理,很难跟进开发过程。随着软件开发的复杂性和不断变化的产品环境,产品经理必须保持在开发过程的顶端,并确保目标得到满足。产品经理如何跟进开发进度? 第一步是对开发过程本身有一个扎实的理解。产品经理必须熟悉开发过…...
【已解决】Qt无法追踪到mouse移动事件
本博文源于笔者正在亲身经历的Qt无法追踪到鼠标移动事件。事情是这样的,笔者有一个应用程序,当应用程序移动进窗口里的时候,每移动一下,检测鼠标位置,进而调整鼠标的形状,结果发现它这死活不听话。后来解决…...
Dubbo从0到1——万字完整学习笔记
目录 RPC理论概述 RPC的基本思想 RPC的实现组成部分 RPC的实现流程 RPC的核心思想 RPC调用分类 初识Dubbo Dubbo特性 Dubbo设计架构 zookeeper环境搭建 搭建注册中心环境 搭建监控中心环境 Dubbo入门案例(Dubbo Spring) 实现步骤 搭建中介者组件共享资源 打包为jar…...
Rust初接触
一、什么是Rust Rust 是由 Mozilla 开发的多范式编程语言,专注于性能和安全性。 Rust 以其先进的安全并发能力而闻名, 它的语法类似于 C,但它提供了更快的速度和内存安全性,但不使用垃圾收集器。 Rust 最初是为 Mozilla Firefox …...
shell脚本学习笔记03(小滴课堂)
在shell脚本中,表示变量除了可以使用$a(a是一个变量),还可以使用${a} 那这两种表示方式有什么区别么? 花括号可以和其它字符或者字母区分开来。 >追加内容 我们发现使用>会把原来的内容覆盖。 我们使用>>就不会覆盖了ÿ…...
软件工程和计算机科学与技术学习方向区别
软件工程(Software Engineering)和计算机科学与技术(Computer Science and Technology)是两个相关但不同的领域,它们涉及到计算机和软件的不同方面。以下是它们之间的主要区别: 计算机科学与技术ÿ…...
React常用hooks总结
React Hooks react常用hooks React Hooks React Hooks是React16.8版本新增的特性,它允许你在不编写class的情况下使用state以及生命周期等特性。 在React中,组件的创建方式有两种:类组件和纯函数组件。 然而,函数组件没有状态…...
【算法学习】-【滑动窗口】-【找到字符串中所有字母异位词】
LeetCode原题链接:438. 找到字符串中所有字母异位词 下面是题目描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串&…...
利用python学习如何处理需要登录的网站
要处理需要登录的网站,你可以按照以下步骤进行学习: 了解网站的登录机制:登录机制通常有用户名密码登录、OAuth授权登录、Cookie登录等。了解目标网站使用的登录机制是学习处理的第一步。 使用Web抓取工具模拟登录:通过使用工具如…...
vue适配各个屏幕
1:不是响应式,只是用缩放来适配各个pc 2:使用中会出现由于 transform 属性导致的定位问题,具体的需要针对性的处理 App.vue <div id"app" ><div class"app-view" :style"{--scale:scale}"><…...
在conda创建的虚拟环境中安装jupyter以及使用
1. 进入你的虚拟环境 conda activate conda_env_name 2. 安装jupyter notebook conda install -y jupyter 3. 启动jupyter jupyter notebook 4. 将conda环境添加到jupyter的内核中 conda install ipykernel python -m ipykernel install --name conda_env_namepython -m…...
【Java 8的新特性】
引言 Java 8是Java编程语言的一个重要里程碑,它引入了许多令人兴奋的新特性和改进。这些新特性不仅使Java编程更加简洁和高效,还提供了更多的功能和灵活性。在本文中,我们将探讨Java 8的一些重要新特性,并展示它们是如何改变我们…...
Android+Appium自动化测试环境搭建及实操
1、Appium简介1.1 Appium概念1.2 Appium工作原理 2、Appium Server环境搭建2.1 Java JDK2.1.1 下载JDK2.1.2 运行exe安装JDK,设置安装路径2.1.3 设置环境变量2.1.4 验证安装结果 2.2 Android SDK2.2.1 下载安装Android SDK安装包2.2.2 下载platform-tools࿰…...
NetSuite ERP系统健康检查
这个题目来自最近的一个项目感受,“上线即停滞”。这是在中小型企业十分普遍的一个情况,一旦上线后,基本上信息化的建设就停止了。这是一个中小企业信息化的一个特点,因为其IT力量比较弱,所以在信息化的推动中缺乏话语…...
常用的数字格式代码
文章目录 数值占位符文本占位符 两类占位符: 数值占位符, 文本占位符. 数值占位符 有三种:0,#,? 0 是强制的占位符。 文本占位符 文本占位符只有一个: : 作用于文本的占位符,可以用英文引号" &quo…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...


可以看到我们将指针p给打印出来,就是字符串,我们将指针p解引用打印出来后,会发现就是首元素‘a’,进而也验证了我们的猜想。









