【C Prime Plus】学习笔记,Chapter 10,数组和指针之三

C++ Prime Plus(第6版) 第4章 学习笔记 存储多个同类型值 在内存中连续type name{size}; 阅读详情
 
#include<stdio.h>
#define SIZE 10
int sum(int [],int);
int main(void)
{
	int marbles[SIZE]={20,10,5,39,4,16,19,26,31,20};
	long answer;
	answer = sum(marbles,SIZE);
	printf("the total number of marbles is %ld.\n",answer);
	printf("the size of marbles is %ld bytes.\n",sizeof(marbles));

 //---
	return 0;
}
    
int sum(int ar[],int n)
{
     int i;
	 int total=0;
	 for(i=0;i<n;i++)
		total+=ar[i] ;
	printf("the size of ar is %ld bytes.\n",sizeof ar);

  //--
      return total;

}


输出结果是:

the size of ar is 4 bytes.
the total number of marbles is 190.
the size of marbles is 40 bytes.

 

//--

因为marbles 包含了10个int类型的元素,每个int元素占4个字节(byte),一共是40个字节;

而ar虽然在函数的实现部分当做一个数组在用,但是ar并非数组本身,ar是指向marbles的第一个元素的指针,指针就是4个字节的int类数据.

 

 

 

深入学习C语言与C++基础:《C Prime Plus Sixth Edition》精读指南 C语言是一种广泛使用的计算机编程语言,它以其高效性和灵活性而著称,特别适合用于系统编程和硬件操作。它是许多现代编程语言的基础,包括C++和Objective-C。C语言的标准由ANSI于1989年制定,后续由国际标准化组织(ISO)在1990年正式采纳。函数是C语言中实现代码模块化的基本单位,它允许程序员将任务分解成独立的代码块,每块执行特定的功能。函数的定义包括返回类型、函数名、参数列表以及函数体。返回类型 函数名(参数类型 参数名, ...) {// 函数体。 阅读详情

相关推荐

C Primer Plus(第五版) 程序清单

C Primer Plus(第五版)中每个例子的c语言程序 ,不用自己一个一个字母的敲了,需要的朋友拿去吧

学习C语言第四天——数组和指针

程序功能:求数组占空间大小并把数组内的值求和。 以下给出两种方法。 一.数组作为形参 #include <stdio.h> #define SIZE 10 int sum(int ar[], int n); int main(void) { int marbles[SIZE] = { 20, 10, 5, 39, 4, 16, 19, 26,31, 20 }; long answer; answer = sum(marbles, SIZE); printf(...

THINKING_XXQ的博客 736

大语言模型在建筑规范自动化合规审查中的微调策略与规模效应实践

大语言模型(LLM)通过在海量文本数据上预训练,具备了强大的语言理解和生成能力。其核心原理是基于Transformer架构,通过自注意力机制捕捉长距离依赖关系。在工程实践中,为了将这种通用能力适配到建筑、法律、金融等高度专业化的垂直领域,通常需要采用领域微调技术。微调通过使用特定领域的高质量指令数据对模型参数进行更新,使其掌握专业术语、逻辑规则和任务范式,从而解决通用模型在专业场景下知识匮乏和“幻觉”问题。结合检索增强生成(RAG)技术,将动态外部知识库作为模型的“参考手册”,能进一步提升事实准确性并降低幻

weixin_30667831的博客 362

学习C++第16天

今天是第16天,今日学习内容: 1.申请和释放动态数组 2.创建多维动态数组 如果需要接收一个动态分配的多维数组首地址的指针,需要定义一个指向数组的指针,比如说二位数组,它的首地址是一个指向行的指针,现在需要接收一个动态分配的二行三列的2维数组首地址的指针,用new命令后会返回二个指针,分别指向每行首地址,所以需要两个指针来接收,所以需要定义一个指针数组。 今天大部分时间学了Python,因为明天要上数学,数学要用Python编程,就没花多少时间学C++,明天上完数学就专注于C++了。 ...

qq_26545507的博客 378

FPGA矩阵键盘计算器Verilog实现与Quartus仿真全流程解析

本文详细解析了基于FPGA和Verilog的矩阵键盘计算器实现全流程,包括矩阵键盘扫描、状态机设计、算术运算逻辑及数码管显示驱动。通过Quartus仿真与Testbench测试,确保设计稳定性与准确性,适合数字逻辑设计初学者学习FPGA开发与硬件描述语言应用。

chair的专栏 742

车载导航GPS欺骗

因此,如果我们能够模拟卫星信号,将模拟的信号通过信号发射装置发送给GPS传感器,那么就有可能实现欺骗GPS传感器获取虚假的位置信息,这种技术即SDR(软件无线电,Software Defined Radio)[2]。究其原因,在不使用时钟模块的条件下,HackRF发送信号的频率可能不十分精准,因此GPS传感器接收到信号之后可能无法正常解析GPS信号,因此时钟信号可能是HackRF进行GPS欺骗的关键。2)HackRF是否使用了时钟模块,时钟模块决定了信号发送频率的精准程度,对实验的成败也是至关重要的。

2503_90751789的博客 1324

C Primer Plus(第五版)中文版.pdf 免费下载

C Primer Plus(第五版)中文版.pdf 下载

wangking407的博客 2万+

新手避坑指南:在MacBook上为PyTorch正确配置MPS环境,跑通第一个YOLOv8训练

本文详细指导新手如何在MacBook上为PyTorch正确配置MPS环境,并成功运行YOLOv8训练。从环境准备、PyTorch安装到YOLOv8配置和性能调优,提供全面的避坑指南和实用技巧,帮助开发者充分利用Mac的GPU加速能力。

weixin_29100399的博客 228

C Primer Plus 第五版 前四章程序清单

既然下定决心,就要持之以恒!《C Primer Plus》这仅仅只是开始……

学无止境 2425

SAP BTP开发入门:从PaaS到CAP/UI5的30天学习路线

在云计算与数字化转型的大背景下,企业系统集成与云端扩展需求激增,传统的单点开发模式正面临深刻变革。PaaS(平台即服务)作为云原生的核心概念,将基础设施、开发环境与应用服务统一封装,为企业提供了灵活的扩展能力。SAP BTP正是SAP生态中的PaaS平台,它承载着系统集成、低代码开发、AI服务与数据管理,成为连接S/4HANA等核心业务系统与创新应用的桥梁。对于ABAP开发者而言,掌握BTP不仅是技能升级,更是应对从传统部署向云端订阅模式转型的必由之路。本文从平台基础出发,梳理BTP的核心服务与开发模型(如

weixin_31766003的博客 284

168、OIS光学防抖系统设计:陀螺仪标定、音圈马达驱动与滚珠式/悬丝式结构选型

本文总结了OIS光学防抖系统设计中的关键问题与解决方案。作者通过实际案例指出,陀螺仪标定需重视零偏、灵敏度和温度补偿问题,音圈马达驱动需采用电流环控制并优化相位补偿。在机械结构选型方面,滚珠式适合大角度补偿但存在回差问题,悬丝式精度高但受重力影响,需根据应用场景选择。系统联调建议从开环到闭环逐步验证,注意陀螺仪与驱动频率匹配。最后给出5条经验建议:关注陀螺仪信噪比而非分辨率、预留标定余量、重视机械结构公差、配备专业调试工具、协调OIS与电子防抖的分工配合。文章强调OIS调试需针对不同模组特性进行反复测试与标

zzfmlxs的博客 45

【C Prime Plus】学习笔记,Chapter 10,数组和指针之四

// 指针操作:使用指针作为参数 page 661 #include #define SIZE 10 int sump(int *start,int *end); int main(void) { int marbles[SIZE]={20,10,5,39,4,16,19,26,31,20}; long answer; // 数组是int,求和防止出界,用long an

-----------------------------不要在跟自己无关的事情上浪费时间 958

【软件系统架构】系列四:嵌入式软件-NPU(神经网络处理器)系统及模板

NPU(Neural Processing Unit) 是专门用于人工神经网络推理与训练的处理器,具备高并行、低功耗、低延迟等特点。它是边缘 AI、自动驾驶、智能摄像头、语音识别等场景中的关键硬件。

moton2017的博客 2249

【C Prime Plus】学习笔记,Chapter 10,数组和指针之一

// C Prime Plus Page 651 // Listing 10.8 #include #define SIZE 4 int main(void) { short dates[SIZE]; short * pti; short index; double bills[SIZE]; double *ptf; pti = dates; ptf

-----------------------------不要在跟自己无关的事情上浪费时间 1296

【安全机制分析案例】从PDF预览页面提取原始PDF文件的方法原理与实践 篇二:基于致远互联(Seeyon)封装的SuwellLightRead技术

该HTML代码片段展示了致远OA协同办公系统的前端页面结构,包含多个CSS样式表和JavaScript文件的引用。页面设置了IE兼容模式,加载了全局环境变量、UI组件库和公告模块相关资源。代码中定义了系统路径、静态资源后缀等全局变量,并包含公告查看功能的相关配置参数。页面还引用了水印、文档处理、即时通讯等功能的JS文件,并设置了文件下载框架。整体呈现了一个典型的OA系统前端实现方案,包含浏览器兼容处理、资源加载和功能模块初始化等逻辑。

生活在别处 2074

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【C Prime Plus】学习笔记,Chapter 10,数组和指针之二

// C Prime Plus, Page 656 /*   int marbles[10];   如果要计算这个数组所有元素的和,函数的可能调用形式如下:   int total = sum(marbles)   数组名 marbles是它的第一个元素的 地址,而地址(指针)是个整型数(int)   也就是说形参marbles实际是传递了个地址,因此可以用个int *p 指针来构造函

-----------------------------不要在跟自己无关的事情上浪费时间 648

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【C Prime Plus】学习笔记,Chapter 10,数组和指针之五

// 【C Prime Plus】学习笔记,Chapter 10,数组和指针之五 // 指针的赋值,加减运算 // Page 667 #include int main(void) { int *ptr0,*ptr1,*ptr2; // 如果指针没有初始化,进行 ++ 运算,编译会warning使用了没有初始化的指针,但是不是严重错误 //ptr

-----------------------------不要在跟自己无关的事情上浪费时间 899

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

整理:C primer plus 学习笔记

前言:简单看了一遍C Primer Plus, 整理了一下,因为时间比较少,自己理解地比较肤浅,所以第一版比较简陋。 假期的时候应该会有时间再整理一下。------2018/11/5 2019/1/23 寒假整理一下笔记。 2019/3/7 大二下学期记:这本书内容还是很多的,举例比较多,也涉及了一些C语言的”高级“特性,有些地方难度很高,但是即使没能掌握也并不影响使用C语言。感觉想用笔记来...

一只大鸽子的博客 1万+

C primer plus 学习笔记 第10章 数组和指针

第10章 数组和指针 10.1 数组 数组由数据类型相同的一系列元素组成。使用数组时,通过声明数组告诉编译器数组中含有多少元素和这些元素的类型。 下面是几个数组声明: float candy[365]; char code[12]; 10.1.1 初始化数组 使用{}来初始化数组: int powers[3] = {1,2,4}; tip:使用const前缀声明数...

一只大鸽子的博客 1791

《C Prime Plus》读书笔记(10):数组和数组指针

文章目录数组的初始化数组指针数组指针与数组下标的关系 数组的初始化 当数组为静态变量时(块作用域、外部链接、内部链接的静态变量),数组默认初始化为0 当数组为自动变量时,数组的初始化方式: 已知数组大小完全初始化和部分初始化 自动匹配数组大小初始化 #include<stdio.h> int arr1[5]; // 默认初始化 static int arr2[5]; // 默认初始化 int main(){ static int arr3[5] // 默认初始化 /*不可默

fang 0 jun的博客 211

【C Prime Plus】学习笔记,Chapter 10,数组初始化问题

// 【C Prime Plus】学习笔记,Chapter 10, P631 #include int main(void) { int i; char arr[4]; printf("局部变量没有初始化,看看打印出来是什么\n"); for(i=0;i<4;i++) printf("%d\n",arr[i]); printf("局部变量仅仅初始

-----------------------------不要在跟自己无关的事情上浪费时间 911

c prime plus 学习重点知识(数组与指针)

数组地址 我们举一个变相使用指针的例子:数组名是数组首元素的地址。也就是说,如果flizny是一个数组,下面的语句成立: flizny = &flizny[0]; //数组名是该数组首元素的地址 flizny和&flizny[0] 都表示数组首元素的内存地址(&是地址运算符)。两者都是常量,在程序的运行过程中,不会改变。但是,可以把它们赋值给指针变量,然后可以修改指针变量的值。 地址存储 首先看下下面这段代码: #include<stdio.h> #define n 3

qq_35082781的博客 565

c primer plus 指针与多维数组探究

C primer plusP266,指针和多维数组,zippo1_yql20170628.c程序,主要代码如下 int a=1;     long long b=2; int zippo[4][2] = { {2,4}, {6,8}, {1,3}, {5, 7} }; int (*pz)[2];       printf("   zippo = %p,    zippo + 1 = %

legendyql的博客 603

C和C++ Prime Plus 学习资源:一站式编程学习解决方案

C和C++ Prime Plus 学习资源:一站式编程学习解决方案 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在编程学习的道路上,找到一套合适的学习资源至关重要。C和C++ Prime Plus 学习资源为您提供了一套全面的编程学习解决方案,涵盖C语言和C++语言的基础到高级知识。项目内含丰富的源码资源,辅助您深入理解《C Prime Plus》和《C++ Pri...

gitblog_06704的博客 845

C Prime Plus 第6章习题

P170~P176

weixin_45641816的博客 1079

C和C++ Prime Plus 学习资源

C和C++ Prime Plus 学习资源 去发现同类优质开源项目:https://gitcode.com/ 感谢您访问本仓库,这里提供了《C Prime Plus》和《C++ Prime Plus》两本书的章节源码资源,旨在帮助学习者和开发者更好地理解和掌握C语言和C++语言的编程技巧。 资源简介 本资源文件包含以下内容: C Prime Plus:涵盖了C语言的入门到进阶知识,包括基础语法、...

gitblog_06796的博客 386
上一篇: 【C Prime Plus】学习笔记,Chapter 10,数组和指针之二
下一篇: 【C Prime Plus】学习笔记,Chapter 10,数组和指针之四
sergery
博客等级 码龄18年 113粉丝 136原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值