C语言:用负数作数组下标?YES!

C语言的 4 个冷知识 01语法规定,数组的长度必须是个常量,保证数组所占的内存大小不变。数组下标从 0 开始,依次往后递增。于是大部分同学都把它当作了默认的规则。其实,数组的长度可以是0,叫做柔性数组,目的是让结构体变成可变长度,不过也是使用 malloc 进行空间的申请。另外,数组的下标也可以是负数,正数表示向后访问,负数表示向前访问。如果不太明白,可以看下下面的内存示意图:对于二维数组,同样可以使用负数的下标来访问元素。 阅读详情

虽然实际用的时候可以用一个转移量解决“负数下标”的问题,但比不上用负数来的自然。不用怀念PASCAL!坚信吧,C是可爱的。

看看这个:

int a[500];
int *b = &a[250];
//DaNmarner:Enjoy your negative index!

 

麒麟V10系统下微信PC版安装全攻略:从源配置到一键安装(附常见问题解决) 本文详细介绍了在麒麟V10系统下安装和优化微信PC版的完整流程,包括系统环境准备、软件源配置、多途径安装方案以及性能优化技巧。特别针对国产操作系统用户,提供了从基础安装到高级配置的一站式解决方案,并附有常见问题排查方法,帮助用户快速实现微信PC版的高效运行。 阅读详情

相关推荐

将Matlab程序打包成.exe独立可执行程序

将Matlab程序打包成.exe独立可执行程序,在未安装Matlab的电脑上也能运行Matlab程序。

简简单单的学习笔记,致力于帮助更多前进路上的朋友~ 5万+

R语言-有负下标里才能有零

1、有负下标里才能有零 先看一个例子 >a >a[-1:1] > a[-1:1] Error in a[-1:1] : 只有负下标里才能有零 (1)只有负下标里才能有零,在这里的意思为: a[-1:0] 可行 a[0:4]也可行 a[-1:1]不可行 也就是说要么是负索引到0,或者0到正索引,但不能同时出现正负索引。 (2)a[0]结果为numberic(0),结

hongweigg的专栏 1万+

【测试】echo发送和接收TCP/UDP数据包|shell 发送TCP/UDP数据包

目录 通过/dev/tcp、/dev/udp shell给tcp或udp服务发送16进制报文指令 通过/dev/tcp、/dev/udp (https://blog.youkuaiyun.com/u010039418/article/details/86251470) 通过/dev/tcp、/dev/udp可以直接在shell脚本中发起tcp、udp连接,方便又高效,平时用于测试啥的还是挺方便的。 直接发送 格式 /dev/udp/ip/port 比如要向本地10001端口发送数据,可以使用 ec.

我的笔记本 1万+

r语言c(0 1),R语言-有负下标里才能有零介绍

1、只有负下标里才能有零先看一个例子>a>a[-1:1]> a[-1:1]Error in a[-1:1] : 只有负下标里才能有零(1)只有负下标里才能有零,在这里的意思为:a[-1:0] 可行a[0:4]也可行a[-1:1]不可行也就是说要么是负索引到0,或者0到正索引,但不能同时出现正负索引。(2)a[0]结果为numberic(0),结果没有意义,如> a[0]+1...

weixin_35900818的博客 2004

Halcon 20.11在WPF中的交互式绘图:完整实现矩形ROI的创建、拖动与坐标获取

本文详细介绍了如何在WPF框架下利用Halcon 20.11实现交互式矩形ROI的创建、拖动与坐标获取。通过HDrawingObject和HSmartWindowControlWPF控件,开发者可以高效构建机器视觉应用,提升项目实战中的开发效率。文章涵盖环境配置、事件处理、坐标获取及性能优化等关键内容。

weixin_29266007的博客 427

智能座舱芯片大乱斗:高通8155 vs 联发科MT8676 vs 华为麒麟990A,谁才是性价比之王?

本文深入对比了高通SA8155P、联发科MT8676与华为麒麟990A三款主流智能座舱芯片的性能、生态与成本。文章从CPU/GPU/NPU算力、开发生态、成本模型及典型应用场景出发,分析了各自在智能座舱领域的优势与适用性,为开发者与车企选型提供了实战参考,并探讨了智能座舱芯片未来的技术趋势。

yhn456789的博客 800

c语言数组下标为负数

c语言中数组的下标可以是负号,在代码运行前不会对数组是否下标越界、溢出等异常进行警告或处理,因此需人为干预。 测试代码: #include<stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int array[]={1,2,3,4,5,6}; int *p; int offset; if(argc == 2) offset = atoi(argv[1]); else off.

开挂的熊猫 3784

基于IC617下Layout XL的使用

基于IC617下Layout XL的使用

weixin_43816759的博客 1万+

数组下标为负数的问题(C语言)

早上看到了这样一道C语言指针题 result:4 和 空 int arr[5] 对这个数组 来说: arr[-1]是合法的,他指向a[0]的前一个元素。 但是不建议这样书写,因为a[-1]的地址是不确定的, 可能会影响到系统运行。如果同上面一题一样加上指针,可以巧妙地解决某些问题。下面贴上代码段,帮助理解。 #include &lt;stdio.h&gt; int main(vo...

zihonggege的博客 2万+

瑞萨 RL78 开发环境实战:从 CS+ for CC 到 e² studio 高效开发

本文详细介绍了瑞萨RL78单片机开发环境的选择与配置,对比分析了CS+ for CC和e² studio的特点及适用场景。内容涵盖环境安装、工程创建、调试技巧、外设驱动开发和低功耗设计等实战经验,为开发者提供全面的RL78入门指南,帮助快速上手并高效开发。

4k5l6j7h8的博客 242

电机瞬态分析基础(2):理想电机的基本假设和正方向规定

电机瞬态分析基础之理想电机假设条件和正方向规定

weixin_45670943的博客 1145

数据结构实验报告,数组(C语言)

数据结构实验报告,数组(C语言)

VLOKL的博客 3180

磁环电感参数计算

电感饱和是指当电感中的电流超过一定阈值时,电感中的磁场无法继续增加,而是达到一个饱和状态,导致电感的感应电动势减小或消失。电感通常由线圈组成,当通过线圈的电流不断增加时,线圈内部的磁场也随之增加。然而,当电流达到一定程度时,线圈的铁芯磁化达到饱和,无法进一步增加磁场强度。电感饱和的阈值取决于电感的结构、材料和尺寸等因素。通常情况下,电感的额定电流会标明其饱和电流值。一旦电感中的电流超过了饱和电流,电感将饱和并出现异常行为。当我们谈论电感饱和的时候,实际上是在谈论磁芯饱和——空心的电感永远不会饱和。

小幽余生不加糖 4029

厦大2021届大一小学期C语言作业1 数组+字符串+指针+位操作

存一下

Dys_debug的博客 7420

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

c语言signed int与unsigned int的运算

一、C语言的int类型与unsigned int运算的问题 1、signed int 可以简写成int ,unsigned int 一般不做简写。 2、在不同类型的混合运算中,编译器也会自动地转换数据类型,将参与运算的所有数据先转换为同一种类型,然后再进行计算。转换的规则如下: (1)转换按数据长度增加的方向进行,以保证数值不失真,或者精度不降低。例如,int 和 long 参与运算时,先把 int 类型的数据转成 long 类型后再进行运算。 (2)所有的浮点运算都是以双精度进行的,即使运算中只有 flo

m0_45688966的博客 6565

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C语言程序设计题题型汇总

总结&&复习

2301_76914717的博客 1996

C语言——关键字详解

C语言32个关键字

plj521的博客 1万+

【C语言】char 关键字

描述 ⇨char字符型变量是用来存储字符常量的变量,字符型变量在内存空间所占字节大小为1个字节,%c所对应的是打印字符的格式数据,有符号(signed)的char取值范围是『(负)128 ~ 127』无符号字符unsigned char的取值范围是『0~255』

"謓泽"正在路上朝着"攻城狮"方向"前进四"! 1583

【c++】无符号类型与负数的比较

【c++】无符号类型与负数的比较 博主在学习中,发现这样一个问题: #include<iostream> using namespace std; int main() { unsigned uint = 10; if(uint>-1) { cout << "yes" << endl; } else { cout <&lt...

清风起~的博客 4579

C语言中几个数互不相等_收藏!C语言入门基础知识大全

C语言中的逻辑值只有两个:真(true)和假(flase)。用非零代表真,用零代表假。因此,对于任意一个表达式,如果它的值为零,就代表一个假值,如果它的值为非零,就代表一个真值。只要值不是零,不管是正数,负数,整数,实数,都代表一个真值。例如-5的逻辑值为真。电子学习资料大礼包​mp.weixin.qq.com1 C语言程序的结构认识用一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书...

weixin_39986178的博客 2000

c语言指针、数组、函数做函数参数详解

用指针做参数 #include &lt;stdio.h&gt; void swap(int *a, int* b) { int t = *a; *a = *b; *b = t; } int main() { int a = 3, b = 4; swap(&amp;a, &amp;b); printf("%d %d", a, b); re...

beashaper_的博客 3020

C语言学习

&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;printf&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp

qq_43471958的博客 720

比较两个文件是否一致。

纠结了半天的东西。

无奈滴微笑 792

初识C语言--训练题

C语言基础训练题

Yikefore的博客 953

C语言循环练习题(共23题)

经典循环23题,学习C语言循环必做。一起来练习练习吧

一沐一星辰 2万+

c语言课下作业(第六次「数组」)

#include <stdio.h> #define MAX_ONE 10 //homeworkone数组的个数 #define PRO 8 //homeworktwo评委的个数 void homeworkOne(); //任意输入10个整数存贮在数组x中,并统计输出正数和负数的个数 void homeworkTwo(); //评分程序,8个评委,满分10分,去掉一个最高,去掉一个最低分,其余6个数平均分,保留两位 void homeworkThree(); //编程实现任.

qq_44791475的博客 291

c语言笔记

个人笔记

clmm_的博客 586
上一篇: VIJOS P1234 口袋的天空 Accepted
下一篇: VIJOS p1023 Victoria的舞会3 终于AC了!!!
DaNmarner
博客等级 码龄21年 27粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值