当前位置: 首页 > news >正文

C语言的指针与数组

函数定义

        参考书籍章节9.7

        无论函数定义的参数是数组还是指针,在编译的时候,编译器都将在栈上开辟一个空间存放入参的地址,换句话说,也就是在函数内部都当做指针处理。

#include <stdio.h>
#include <stdlib.h>char ga[] = "abcdefgijklm";void my_pointer_func(char *ca)
{printf("my_pointer_func\n");printf("%#x \n", &ca);printf("%#x \n", &ca[0]);printf("%#x \n", &ca[1]);printf("%#x \n", ++ca);
}void my_array_func(char ca[])
{printf("my_array_func\n");printf("%#x \n", &ca);printf("%#x \n", &ca[0]);printf("%#x \n", &ca[1]);printf("%#x \n", ++ca);
}int main()
{my_array_func(ga);my_pointer_func(ga);return 0;
}

my_array_func
0x61fe00
0x403010
0x403011
0x403011
my_pointer_func
0x61fe00
0x403010
0x403011
0x403011

多维数组

参考书籍章节10.1

  • 数组的偏移量总是在编译时确定的,

arr[i][j]、int arr[5][10]、int *arr[10]

        当你使用arr[i][j]时,你不能通过你的使用方式知道arr的声明是int arr[5][10],亦或是int *arr[10],以上两种声明,你都可以使用arr[i][j]这种形式来访问。但是需要注意的是,编译器生成的代码是完全不一样的!因为int arr[5][10]在编译时有了一块确定且连续的内存,编译器完全知道如果想对arr去做偏移,但是int *arr[10]却是灵活多变的,因为它只是有10个连续内存空间的整形指针而已,指针指向的空间是不确定的,所以编译器只能让程序运行时再通过计算算出偏移量,而第一种是在编译时就算出来了偏移量

        这里也体现了一部分哲学的内容,如果你想要点东西,就必须要牺牲点其他的东西,比如在这里,你想要灵活性,就牺牲了执行效率。

锯齿数组

参考书籍章节10.3

未完待续

相关文章:

C语言的指针与数组

函数定义 参考书籍章节9.7 无论函数定义的参数是数组还是指针&#xff0c;在编译的时候&#xff0c;编译器都将在栈上开辟一个空间存放入参的地址&#xff0c;换句话说&#xff0c;也就是在函数内部都当做指针处理。 #include <stdio.h> #include <stdlib.h>char g…...

计算机图形学入门28:相机、透镜和光场

1.前言 相机(Cameras)、透镜(Lenses)和光场(Light Fields)都是图形学中重要的组成部分。在之前的学习中&#xff0c;都是默认它们的存在&#xff0c;所以现在也需要单独拿出来学习下。 2.成像方法 计算机图形学有两种成像方法&#xff0c;即合成(Synthesis)和捕捉(Capture)。前…...

Swift 基于Codable协议使用

Codable协议 继承自 Decodable & Encodable // // Test1.swift // TestDemo // // Created by admin on 2024/7/9. // import Foundationstruct Player{var name:Stringvar highScore:Int 0var history:[Int] []var address:Address?var birthday:Date?init(name: St…...

conda激活的虚拟环境的python版本不对应

这个大坑&#xff0c;要看看虚拟环境下envs下有没有bin文件夹 python -Vecho $PATH镜像源的问题&#xff0c;参考...

深度学习概览

引言 深度学习的定义与背景 深度学习是机器学习的一个子领域&#xff0c;涉及使用多层神经网络分析和学习复杂的数据模式。深度学习的基础可以追溯到20世纪80年代&#xff0c;但真正的发展和广泛应用是在21世纪初。计算能力的提升和大数据的可用性使得深度学习在许多领域取得…...

什么是白盒测试中的静态测试?其包含哪些过程和方法?

文章目录 前言一、文档审查二、软件静态分析1.编码规范检查2.软件质量度量 三、代码审查与代码走查1.代码审查2.代码走查 总结 前言 软件白盒测试中的静态测试是指不运行被测软件&#xff0c;仅通过分析或检查等手段达到检测的目的。在软件白盒测试中&#xff0c;静态测试常通…...

搭建一个高并发的Web商品推荐系统,如何涉及软件架构?

搭建一个高并发的Web商品推荐系统&#xff0c;如何涉及软件架构 在搭建一个高并发的Web商品推荐系统时&#xff1a; 微服务架构&#xff1a; 为了支持高并发&#xff0c;我们可以采用微服务架构&#xff0c;将系统拆分成小型、独立的服务&#xff0c;每个服务专注于特定的功…...

今日科技圈最新时事新闻(2024年7月12日

一、智能硬件与电子产品 小米Redmi G Pro 2024游戏本新版本发布 发布时间&#xff1a;7月12日上午10点产品亮点&#xff1a; 搭载英特尔酷睿i7-14650HX处理器&#xff0c;拥有16个核心和24个线程&#xff0c;性能释放高达130W。配备140W满血释放的RTX 4060显卡&#xff0c;提…...

jenkins系列-09.jpom构建java docker harbor

本地先启动jpom server agent: /Users/jelex/Documents/work/jpom-2.10.40/server-2.10.40-release/bin jelexjelexxudeMacBook-Pro bin % sh Server.sh start/Users/jelex/Documents/work/jpom-2.10.40/agent-2.10.40-release/bin jelexjelexxudeMacBook-Pro bin % ./Agent.…...

构造+贪心,CF 432E,Square Tiling

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 432E - Codeforces 二、解题报告 1、思路分析 很简单的一个构造题 考虑字典序从左到右从上到下&#xff0c;所以我们正常遍历 对于当前格子如果空闲&#xff0c;那么找到一个能填的最小字符 然…...

【Linux】任务管理

这个任务管理&#xff08;job control&#xff09;是用在bash环境下的&#xff0c;也就是说&#xff1a;【当我们登录系统获取bashshell之后&#xff0c;在单一终端下同时执行多个任务的操作管理】。 举例来说&#xff0c;我们在登录bash后&#xff0c;可以一边复制文件、一边查…...

计算机网络——常见问题汇总

1. introduction 1.1 Explain what a communication protocol is and why its important. A communication protocol is a set of rules and conventions(公约) that govern(统治) how data is transmitted and received between devices(设备), systems, or entities in a ne…...

Linux的世界 -- 初次接触和一些常见的基本指令

一、Linux的介绍和准备 1、简单介绍下Linux的发展史 1991年10月5日&#xff0c;赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组(comp.os.minix&#xff09;中宣布他编制出了一种类似UNIX的小操作系统&#xff0c;叫Linux。新的操作系统是受到另一个UNIX的…...

[AI 大模型] Meta LLaMA-2

文章目录 [AI 大模型] Meta LLaMA-2简介模型架构发展新技术和优势示例 [AI 大模型] Meta LLaMA-2 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yYHlT342-1720705768360)(https://i-blog.csdnimg.cn/direct/9ddc783e01bf48c3bc784a584339003f.jpeg…...

Python3.6.6 OpenCV 将视频中人物标记或者打马赛克或加图片并保存为不同格式

1、轻松识别视频人物并做出标记 需安装face_recongnition与dlib&#xff0c;过程有点困难&#xff0c;还请网上查找方法 import face_recognition import cv2 #镜像源 -i https://pypi.mirrors.ustc.edu.cn/simple # 加载视频 video_file E:\\videos\\1.mp4 video_capture …...

Readiris PDF Corporate / Business v23 解锁版安装教程 (PDF管理软件)

前言 Readiris PDF Corporate / Business 是一款高性能的 OCR&#xff08;光学字符识别&#xff09;软件&#xff0c;能够帮助用户将纸质文档、PDF 文件或图像文件转换为可编辑和可搜索的电子文本。该软件提供专业级的功能和特性&#xff0c;非常适合企业和商业使用。使用 Rea…...

.NET MAUI开源架构_2.什么是 .NET MAUI?

1.什么是.NET MAUI&#xff1f; .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架&#xff0c;用于使用 C# 和 XAML 创建本机移动和桌面应用。使用 .NET MAUI&#xff0c;可从单个共享代码库开发可在 Android、iOS、macOS 和 Windows 上运行的应用。 .NET MAUI 是一款…...

认知偏差知识手册

The Connector 每周会选取我从信息流里获取的有价值内容&#xff0c;包括 AI 探索专题、Github 开源库推荐、工具介绍和一些文章书籍等&#xff0c;目标是链接互联网上的优质内容&#xff0c;获得更多的灵感和知识&#xff0c;从而激发彼此的创造力。 AI 探索 主流推理框架在…...

SpringBoot后端代码基本逻辑

数据持久化&#xff08;Dao---Entity---mapper&#xff09; 配置&#xff08;application.yml&#xff09; server:port: 10086 ​ spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/wiki?useUnicodetrue&characterEnco…...

Python学生信息管理系统的设计与实现

在本篇博客中&#xff0c;我们将深入探讨一个基于Python的简单学生信息管理系统的设计与实现过程。这个系统允许用户执行诸如添加、删除、修改和查询学生信息等操作。我们将逐步解析代码&#xff0c;理解其中的关键概念和编程实践。 1. 系统概述 该系统由几个核心功能组成&am…...

Cloudflare四重验证机制与行为建模反爬原理深度解析

1. 这不是“绕过Cloudflare”&#xff0c;而是重新理解“人机边界”的实战现场最近两周&#xff0c;我连续接手了三个爬虫项目&#xff0c;全卡在同一个地方&#xff1a;Cloudflare的“Checking your browser before accessing...”页面。不是5秒跳转失败&#xff0c;就是直接返…...

机器学习解码中子星暗物质:XGBoost与SHAP分析在粒子天体物理中的应用

1. 项目概述&#xff1a;当机器学习遇见中子星&#xff0c;如何解码暗物质之谜&#xff1f;在粒子物理和天体物理的交叉前沿&#xff0c;我们面临着一个根本性的挑战&#xff1a;如何探测那些不发光、不吸收光&#xff0c;却占据宇宙物质总量约85%的暗物质&#xff1f;轴子&…...

基于机器学习的癫痫发作检测与预测:从EEG信号处理到LSTM时序建模

1. 项目概述&#xff1a;从被动监测到主动预警的癫痫管理革新作为一名长期关注医疗健康与人工智能交叉领域的技术从业者&#xff0c;我始终对如何将前沿算法转化为切实的临床价值抱有浓厚兴趣。癫痫&#xff0c;作为一种影响全球数千万人的慢性神经系统疾病&#xff0c;其核心痛…...

Mac上mitmproxy HTTPS抓包实战:证书配置与Python脚本化

1. 为什么Mac用户需要真正掌握mitmproxy&#xff0c;而不是只装个Charles&#xff1f; 在Mac上做移动端或Web前端调试时&#xff0c;很多人第一反应是打开Charles——界面友好、点几下就能看到HTTP请求。但真正在一线做过API联调、小程序逆向、自动化测试或安全审计的人心里都清…...

Fiddler HTTPS抓包失败原因与证书信任机制详解

1. 为什么HTTPS抓包总在“证书这关”卡死&#xff1f;——不是Fiddler不行&#xff0c;是系统和APP联手设防Fiddler HTTPS抓包避坑指南&#xff1a;从证书安装失败到APP抓包不全的完整解决方案——这个标题里藏着太多人反复踩坑却始终没想通的真相。我带过三届移动测试团队&…...

GetQzonehistory:永久保存QQ空间记忆的终极免费解决方案

GetQzonehistory&#xff1a;永久保存QQ空间记忆的终极免费解决方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代&#xff0c;我们的青春记忆大多存储在QQ空间里。那些深夜…...

基于 Taotoken 构建支持多模型路由的智能写作助手 Agent

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 基于 Taotoken 构建支持多模型路由的智能写作助手 Agent 在开发智能写作工具时&#xff0c;一个常见的需求是让工具能够处理不同类…...

DeepSeek企业版访问控制配置白皮书(内部泄露版·含审计日志埋点规范与SOC2合规映射表)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;DeepSeek企业版访问控制配置概述 DeepSeek企业版提供细粒度、可审计、可扩展的访问控制能力&#xff0c;支持基于角色&#xff08;RBAC&#xff09;、属性&#xff08;ABAC&#xff09;及策略即代码&#xff…...

MacType 2025:终极Windows字体渲染优化指南,告别模糊文字困扰!

MacType 2025&#xff1a;终极Windows字体渲染优化指南&#xff0c;告别模糊文字困扰&#xff01; 【免费下载链接】mactype Better font rendering for Windows. 项目地址: https://gitcode.com/gh_mirrors/ma/mactype 你是否厌倦了Windows系统下模糊不清的字体边缘&am…...

5个AI音频处理神器:用OpenVINO插件让Audacity变身专业音频工作站

5个AI音频处理神器&#xff1a;用OpenVINO插件让Audacity变身专业音频工作站 【免费下载链接】openvino-plugins-ai-audacity A set of AI-enabled effects, generators, and analyzers for Audacity. 项目地址: https://gitcode.com/gh_mirrors/op/openvino-plugins-ai-auda…...