正规手表回收网站国外做图片识别训练的网站

张小明 2026/1/8 10:32:17
正规手表回收网站,国外做图片识别训练的网站,一个网站做局打水,网站邮箱建设一.什么是“数组退化成指针”#xff1f;在许多情况下#xff0c;数组名会退化为指针#xff0c;即原本代表数组的变量#xff0c;变成了指向数组第一个元素的指针。这意味着 数组名并不总是一个指向整个数组的指针#xff0c;而是指向数组第一个元素的指针。二.举例1.作为…一.什么是“数组退化成指针”在许多情况下数组名会退化为指针即原本代表数组的变量变成了指向数组第一个元素的指针。这意味着数组名并不总是一个指向整个数组的指针而是指向数组第一个元素的指针。二.举例1.作为函数参数传递时在函数参数中数组总是退化为指针。这是因为函数参数的大小是固定的而数组的大小在编译时并不确定。#include stdio.h void foo(int arr[]) { printf(%zu\n, sizeof(arr)); // 输出指针的大小4 或 8 字节 } int main() { int arr[10]; foo(arr); }结果sizeof(arr) 输出的是 指针的大小4 或 8 字节取决于32/64位平台。分析传递数组时arr退化为指针。sizeof(arr)返回的是指针的大小而不是数组的大小。void foo(int arr[ ]) 等价于void foo(int *arr)2.作为函数参数的引用时即使你使用引用C 中或者指针C / C 中传递数组数组名依然会退化成指针。#include iostream void foo(int* arr) { std::cout sizeof(arr) std::endl; // 输出指针大小 } int main() { int arr[10]; foo(arr); // 数组退化为指针 }分析arr作为参数传递给foo时退化为指针即传递给函数的是指向arr[0]的指针。foo(arr)等价于foo(a[0]);3.用作sizeof表达式时sizeof返回的是数组类型的大小然而如果在数组名后加上 0它会退化为指针类型只看指针类型的大小。#include stdio.h int main() { int arr[10]; printf(%zu\n, sizeof(arr)); // 数组的大小40字节假设 int 为4字节 printf(%zu\n, sizeof(arr0)); // 指针的大小4 或 8 字节 }分析arr在sizeof(arr)中arr是一个数组返回的是数组的总大小10 * sizeof(int)。arr0在sizeof(arr0)中arr退化为指针int*sizeof返回的是指针的大小4.在指针运算中数组名在指针运算中始终退化为指针因为数组名本质上是指向数组第一个元素的指针。#include stdio.h int main() { int arr[5] {1, 2, 3, 4, 5}; int *ptr arr; // 数组退化为指针 printf(%d\n, *(ptr 2)); // 输出 arr[2] 的值 3 }分析arr被赋值给ptr实际上是指针赋值这时候arr退化为指向arr[0]的指针。*(ptr 2)实际上等价于arr[2]。5.作为函数返回值时C在 C 中数组返回值也会退化为指针。如果你尝试返回整个数组编译器会报错但返回一个指向数组的指针是合法的。#include iostream int* foo() { static int arr[3] {1, 2, 3}; return arr; // 返回指向数组的指针 } int main() { int* ptr foo(); std::cout ptr[1] std::endl; // 输出 2 }分析由于arr是一个局部数组返回其指针是合法的arr退化为指向arr[0]的指针。注意数组名退化为指针因此你得到的是指向数组首元素的指针。6.数组作为运算中的操作数时在许多情况下数组名也会自动退化为指针尤其是作为运算的操作数时。#include stdio.h int main() { int arr[3] {1, 2, 3}; printf(%d\n, *(arr 1)); // 输出 2 }分析这里arr退化为指向arr[0]的指针arr 1就是指向arr[1]的指针*(arr 1)解引用它得到 2。三、总结 避免数组传参退化的方法数组在传参时默认会退化为指向首元素的指针但这是由形参类型决定的如果形参不是“数组引用”或“指向数组的指针”则实参数组一定会发生数组到指针的转换也就是所谓的退化。简单说只有当形参显式表示“整个数组类型”时退化才不会发生。那什么是形参为“数组引用”或“指向数组的指针”1.指向数组的指针C / Cvoid foo(int (*arr)[10]);int a[10]; foo(a);实参传的是a类型匹配int (*)[10]没有退化2.数组引用Cvoid foo(int (arr)[10]);int a[10]; foo(a);arr是数组引用数组身份被完整保留没有退化情况是否退化foo(arr)✅ 实参处发生转换void foo(int arr[])✅void foo(int *arr)✅void foo(int (*arr)[N])❌void foo(int (arr)[N])❌sizeof(arr)❌arr❌数组名在函数调用中作为形参时普通写法一定会退化只有参数代表整个数组类型它才能接收整个数组否则都是接收的单个元素正确不退化的形参写法void foo( int (* arr )[10] )写法指向int *p单个 intint (*p)[10]整个 int[10]
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

二手网站专业做附近人的有吗昆明市网站备案

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作具体实现截图 本系统(程序源码数据库调试部署讲解)同时还支持java、ThinkPHP、Node.js、Spring B…

张小明 2026/1/7 17:17:35 网站建设

wordpress手机站模板外贸营销信

目录 已开发项目效果实现截图开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 已开发项目效果实现截图 同行可拿货,招校园代理 python基于Hadoop的物品租赁系统的设计与实现 9349a–论文_…

张小明 2026/1/1 21:38:53 网站建设

优惠券网站cms建设国内重大新闻2021

本文在前期实践基础上,进一步补充和详细解读了使用 LLaMA Factory 工具,在国产DCU(海光 K100-AI)上对 Meta-Llama-3-8B-Instruct 模型进行 LoRA 微调、推理及导出各阶段的关键日志输出和核心测试信息。旨在为大模型技术爱好者提供…

张小明 2026/1/5 23:39:51 网站建设

四川seo整站优化费用新媒体运营工资一般多少

使用iReport进行报表设计与开发,是许多Java应用项目中一项基础而重要的工作。它作为JasperReports的可视化设计工具,能够将复杂的数据转化为结构清晰、格式规范的文档。掌握其核心用法,能有效提升从数据到决策信息的传递效率。 iReport如何连…

张小明 2026/1/3 6:17:17 网站建设

网站建设报价比较表网站推广新手教程

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 构建一个自动化网页加载优化工作流对比工具:1. 左侧展示传统手动优化流程(如手动压缩图片、配置CDN等)2. 右侧展示快马AI自动化优化流程 3. 支持…

张小明 2026/1/2 22:12:13 网站建设

珠海网络网站建设网站开发 毕业答辩ppt

TouchGAL社区完整手册:构建纯净Galgame文化生态的终极指南 【免费下载链接】kun-touchgal-next TouchGAL是立足于分享快乐的一站式Galgame文化社区, 为Gal爱好者提供一片净土! 项目地址: https://gitcode.com/gh_mirrors/ku/kun-touchgal-next 在Galgame文化…

张小明 2026/1/2 14:23:07 网站建设