鹏哥c语言数组(初阶数组)
前言:
对应c语言视频54集
内容:
一维数组的创建
数组是一组相同元素的集合,
数组的创建方式
type_t就是数组的元素类型,const_n是一个常量表达式,用来指定数组的大小
c99标准之前的,数组的大小必须是常量或常量表达式
c99之后可以是变量,,为了支持变长数组

这样也可以
#include <stdio.h>
{double data2[15+5]return 0;}
数组溢出,也在字符串就是后面会自己加 \0,但是现在因为输入了10个字符串,就是不能输入\0,字符的话,就是大括号,他是自动加\0,就是加了10个字符,后面还是会有\0的
int main()
{//不完全初始化,剩余的元素默认初始化大小为0int arr[10] ={1,2,3,4,5};//这里后面,就是会溢出,但是devc++,不会溢出 char ch1[10] = "abcdeghij";printf("%s", ch1);}
[ ]就是下标引用操作符
就是数组的下标,从0开始计算的
可以打印数组的每个元素的地址
二、二维数组
//二维数组,
int main()
{//二维数组的创建 int arr1[3][4];//二维数组的初始化,就是三行,每一行有四列 int arr1[3][4] = {1,2,3,4,2,3,4,5,6,3,4,5,6,7}; //划分区域int arr2[3][4] = {{1,2},{2,3},{3,4}}; //可以省略行,但是不能省略列int arr3[][4] = {{1,2,3,5},{2,3}}int arr2[5][8];return 0;}
冒泡排序算法
算法核心,相邻的两个数进行排序
错误实例
//冒泡排序算法的核心思想
// 两个相邻的元素进行比较
void bubble_sort(int arr[], int zs)
{int i = 0;for(i=0; i<zs-1; i++){int j = 0;for(j=0; j<zs-1-i; j++){//这里错了,没有利用算法核心思想,相邻的两个数进行排序if(arr[i]<arr[j]){int tmp = arr[i];arr[i] = arr[j];arr[j] = tmp;}}}}
正确事例
//冒泡排序算法的核心思想// 两个相邻的元素进行比较void bubble_sort(int arr[], int zs)
{int i = 0;for(i=0; i<zs-1; i++){int j = 0;for(j=0; j<zs-1-i; j++){//如果前面一个数比后面的数大,就交换if(arr[j]<arr[j+1]){int tmp = arr[j];arr[j] = arr[j+1];arr[j+1] = tmp;}}}}int main()
{//数组//把数组的数据排成升序int arr[] = {1,2,3,4,5,6,7,8,9,10};int zs = sizeof(arr)/sizeof(arr[0]);//冒泡排序的算法,对数组进行排序bubble_sort(arr,zs);int i = 0;for(i=0; i<zs; i++){printf("%d ", arr[i]);}return 0;}
数组名的解释
//数组名确实能表示首元素的地址
//但是有2个例外:
//1、sizeof(数组名),这里的数组名表示整个数组。计算是整个数组的大小
//2、&数组名,这里的数组名表示整个数组,取出的是整个数组的地址int main()
{int arr[10]= {0};printf("%p\n", arr);printf("%p\n", arr+1);printf("-------------------\n");printf("%p\n", &arr[0]);printf("%p\n", &arr[0]+1);printf("-------------------\n");//取出的是整个数组的地址,+1就不是这个数组的范围的了 printf("%p\n", &arr);printf("%p\n", &arr+1); //sizeof计算的是整个数组的大小int n = sizeof(arr);printf("%d", n); return 0;}
二维数组的数组名的理解
//二维数组的数组名的理解
int main()
{int arr[3][4];//int sz = sizeof(arr);//printf("%d\n", sz);//首元素表示一行的地址 printf("%p\n", arr); //二维数组的数组名也表示数组首元素的地址 printf("%p\n", arr+1);//总数组大小除以一行的大小,就是说有几行printf("%d\n", sizeof(arr)/sizeof(arr[0]));//打印有多少列 ,行除以一个元素 printf("%d\n", sizeof(arr[0])/sizeof(arr[0][0])); return 0;}
相关文章:
鹏哥c语言数组(初阶数组)
前言: 对应c语言视频54集 内容: 一维数组的创建 数组是一组相同元素的集合, 数组的创建方式 type_t就是数组的元素类型,const_n是一个常量表达式,用来指定数组的大小 c99标准之前的,数组的大小必须是…...
利用go-migrate实现MySQL和ClickHouse的数据库迁移
1. 背景 在使用gorm时 , 尽管已经有了自动建表和钩子函数 . 但是在面临希望了解到数据库的变更 , 和插入一些系统字段时 , 以及最关键的数据库迁移的工作 . gorm显得稍微有点不便 . 在了解到migrate这项技术后 , 就使用go-migrate开发了一个可以迁移MySQL和ClickHouse数据库的…...
计算机毕业设计SpringBoot+Vue.js企业客户管理系统(源码+LW文档+PPT+讲解+开题报告)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
jmeter 如何做移动端的测试 特别是兼容性测试
JMeter本身主要是一款用于性能测试和功能测试的工具,虽然它并非专门为移动端测试设计,但可以通过一些方式来对移动端应用进行测试,以下从测试准备、测试过程及注意事项等方面为你详细介绍: 一、测试准备 (一)环境搭建 JMeter安装与配置:确保JMeter已经正确安装在测试机…...
深度学习技术全景图:从基础架构到工业落地的超级进化指南
🔍 目录导航 基础架构革命训练优化秘技未来战场前瞻 🧩 一、基础架构革命 1.1 前馈神经网络(FNN) ▍核心结构 import torch.nn as nnclass FNN(nn.Module):def __init__(self):super().__init__()self.fc1 nn.Linear(784, 25…...
vllm部署LLM(qwen2.5,llama,deepseek)
目录 环境 qwen2.5-1.5b-instruct 模型下载 vllm 安装 验证安装 vllm 启动 查看当前模型列表 OpenAI Completions API(文本生成) OpenAI Chat Completions API(chat 对话) vllm 进程查看,kill llama3 deep…...
基于SpringBoot的“古城景区管理系统”的设计与实现(源码+数据库+文档+PPT)
基于SpringBoot的“古城景区管理系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统整体功能图 系统首页界面 系统注册界面 景…...
如何防止 Docker 注入了恶意脚本
根据您的描述,攻击者通过 CentOS 7 系统中的 Docker 注入了恶意脚本,导致自动启动名为 “masscan” 和 “x86botnigletjsw” 的进程。这些进程可能用于网络扫描或其他恶意活动。为了解决这一问题,建议您采取以下步骤: 1. 停止并删…...
使用python接入腾讯云DeepSeek
本文主要从提供SSE方式接入DeepSeek,并通过fastapi websocket对外提供接入方法。 参考文档: 腾讯云大模型:https://cloud.tencent.com/document/product/1759/109380 fastAPI官网:https://fastapi.tiangolo.com/ WebSocketManager…...
【MySQL】服务正在启动或停止中,请稍候片刻后再试一次【解决方案】
问题呈现 在使用MySQL的过程中我们可能会遇到以上的情况 解决方法 首先以管理员身份打开命令行窗口,注意是管理员身份,不然无权限访问。输入命令tasklist| findstr "mysql",用于查找mysql的残留进程。这个时候我们就会看到一个…...
测试工程师玩转DeepSeek之Prompt
以下是测试工程师使用DeepSeek的必知必会提示词指南,分为核心场景和高效技巧两大维度: 一、基础操作提示模板 1. 测试用例生成 "作为[金融系统/物联网设备/云服务]测试专家,请为[具体功能模块]设计测试用例,要求࿱…...
【PyTorch】2024保姆级安装教程-Python-(CPU+GPU详细完整版)-
一、准备工作 pytorch需要python3.6及以上的python版本 我是利用Anaconda来管理我的python。可自行安装Anaconda。 Anaconda官网 Free Download | Anaconda 具体Anaconda安装教程可参考 https://blog.csdn.net/weixin_43412762/article/details/129599741?fromshareblogdet…...
精选案例展 | 智己汽车—全栈可观测驱动智能化运营与成本优化
本案例为“观测先锋 2024 可观测平台创新应用案例大赛”精选案例,同时荣获IT168“2024技术卓越奖评选-年度创新解决方案”奖。 项目背景 近年来,中国汽车行业进入转型升级阶段,智能网联技术成为行业发展的核心。车联网、自动驾驶等技术的加速…...
MySQL 使用 `WHERE` 子句时 `COUNT(*)`、`COUNT(1)` 和 `COUNT(column)` 的区别解析
文章目录 1. COUNT() 函数的基本作用2. COUNT(*)、COUNT(1) 和 COUNT(column) 的详细对比2.1 COUNT(*) —— 统计所有符合条件的行2.2 COUNT(1) —— 统计所有符合条件的行2.3 COUNT(column) —— 统计某一列非 NULL 的记录数 3. 性能对比3.1 EXPLAIN 分析 4. 哪种方式更好&…...
Linux运维——网络管理
Linux网络管理 一、Linux网络应用要点二、命令常见用法2.1、curl2.1.1、发送GET请求2.1.2、发送POST请求2.1.3、设置请求头2.1.4、处理cookies2.1.5、处理重定向2.1.6、调试和详细信息2.1.7、使用代理2.1.8、文件上传2.1.9、其它常用选项2.1.10、综合示例 2.2、wget2.2.1、基本…...
STM32CUBEIDE FreeRTOS操作教程(十三):task api 任务访问函数
STM32CUBEIDE FreeRTOS操作教程(十三):task api 任务访问函数 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板…...
Jmeter+Jenkins接口压力测试持续集成
项目介绍 接口功能测试应用: http://www.weather.com.cn/data/cityinfo/<city_code>.html 测试功能:获取对应城市的天气预报 请求方法:Get 压测脚本开发工具:jmeter 源码脚本位置: https://github.com/shife…...
深入浅出ES6:现代JavaScript的基石
ES6(ECMAScript 2015)是JavaScript语言的一次重大更新,引入了许多新特性,使JavaScript更加强大、优雅和易于维护。这些特性已经成为现代JavaScript开发的基石,掌握它们对于任何JavaScript开发者都至关重要。本文将深入…...
实现使用RBF(径向基函数)神经网络模拟二阶电机数学模型中的非线性干扰,以及使用WNN(小波神经网络)预测模型中的非线性函数来抵消迟滞影响的功能
下面将详细介绍如何实现使用RBF(径向基函数)神经网络模拟二阶电机数学模型中的非线性干扰,以及使用WNN(小波神经网络)预测模型中的非线性函数来抵消迟滞影响的功能。我们将按照以下步骤进行: 步骤1&#x…...
潜水泵,高效排水,守护城市与农田|深圳鼎跃
洪水是常见的自然灾害,在春夏季节的我国降水多为丰富,容易造成城市内部的洪涝灾害。特别是低洼地区的积水,不仅容易造成城市交通的出行不便,还存在潜在的隐患,严重影响了人们正常生活。 潜水泵作为一种高效、可靠的排水…...
差分式升压逆变器MATLAB仿真模型设计——实现110V/50Hz输出电压与THD<5%
差分式升压逆变器MATLAB仿真模型设计——实现110V/50Hz输出电压与THD<5% 摘要 差分式升压逆变器(Differential Boost Inverter, DBI)是一种能够将低压直流电源直接转换为高压交流输出的单级电力电子变换器拓扑结构。与传统两级式(DC-DC升压+DC-AC逆变)方案相比,DBI省…...
如何快速检测Windows热键冲突:Hotkey Detective完整解决方案指南
如何快速检测Windows热键冲突:Hotkey Detective完整解决方案指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective …...
K8s压力测试实战:从HPA动态扩缩容到资源优化
1. 为什么需要K8s压力测试? 当你把业务迁移到Kubernetes集群后,最怕遇到什么情况?我猜一定是半夜被报警叫醒,发现服务因为流量激增而崩溃。去年我们团队就经历过一次,促销活动带来的流量是平时的20倍,HPA&…...
ArcGIS属性表多条件筛选:精准圈定目标要素的SQL实战
1. 从零开始理解ArcGIS属性表筛选 刚接触ArcGIS那会儿,我最头疼的就是从密密麻麻的属性表里找特定要素。记得有次为了筛选出某几个特定村庄,硬是手动勾选了上百条记录,眼睛都快看花了。后来才发现,原来属性表里藏着个"SQL查询…...
从一次跨域业务中断说起:用Wireshark抓包带你复盘MPLS Option B的故障排查全流程
从一次跨域业务中断说起:用Wireshark抓包带你复盘MPLS Option B的故障排查全流程 那天凌晨3点17分,监控大屏突然跳出红色告警——核心业务系统的跨域交易成功率断崖式下跌至12%。作为网络团队的值班负责人,我立刻意识到这绝非普通故障&#x…...
传统SLAM使用CUDA加速,优势究竟有多大?
深度学习在SLAM中主要用于:动态目标剔除、语义SLAM的目标检测与分割。特征点提取与匹配(SuperPoint、SuperGlue)。场景描述符与重定位。工程建议:CUDA对传统SLAM有明显优势,尤其在视觉稠密前端、激光点云匹配、后端优化…...
别再手动下载了!用Python+国信QMT自动拉取股票历史Tick数据(附完整代码与避坑点)
PythonQMT全自动获取股票Tick数据实战指南 在量化交易领域,获取高质量的Tick级数据是构建有效策略的基础。传统手动下载方式不仅效率低下,还容易出错。本文将手把手教你如何用Python调用国信QMT的get_market_data_ex接口,实现股票历史Tick数据…...
FileZilla实战指南:高效下载FTP公开数据集的完整流程
1. FileZilla入门:为什么选择它下载FTP数据集 第一次接触FTP下载的朋友可能会问:为什么非要折腾这个老古董协议?现在网盘和HTTP下载不是更方便吗?其实FTP在科研数据和大型文件传输领域依然是不可替代的。我去年处理气象卫星数据时…...
3分钟让你的OpenWrt路由器性能飙升:Turbo ACC网络加速插件完全指南 [特殊字符]
3分钟让你的OpenWrt路由器性能飙升:Turbo ACC网络加速插件完全指南 🚀 【免费下载链接】turboacc 一个适用于官方openwrt(22.03/23.05/24.10) firewall4的turboacc 项目地址: https://gitcode.com/gh_mirrors/tu/turboacc 你是否经常遇到这样的烦…...
FPGA制造与测试全流程
FPGA制造与测试全流程(从设计到出货) FPGA是可编程逻辑芯片,核心结构含LUT、触发器、可编程互联、I/O、配置SRAM/Flash,制造与测试分前端设计→晶圆制造→晶圆测试(CP)→封装→封装测试(FT)→可靠性/系统测试→出货六大阶段&…...
