用函数初始化数组

将数组全部初始化为相同值

对于一般情况

一般是用函数,传什么数就初始化为什么数

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void init(int arr[], int len, int num)
{int i;for (i = 0; i < len; i++){arr[i] = num;}
}
int main()
{int arr[10];int len = sizeof(arr) / sizeof(arr[0]);init(arr, len, 0);int i;for (i = 0; i < len; i++){printf("%d ", arr[i]);}return 0;
}

对于需要初始化为0或-1的情况

可以用memset

void * memset ( void * ptr, int value, size_t num );

这是将ptr指向的空间的前num个字节的每一个字节都改为value

例如memset(arr,0,16)表示把arr指向的前16个字节都改为0,注意:前16给字节对应整型就是4个整型数,即4个元素

所以memset(arr,1,4*sizeof(int))表示把16个字节都改为1,所以每一个整型数字都变成了用16进制表示的01 01 01 01,而不是1。

如果想把arr数组初始化为-1(即二进制的1111 1111 1111 1111 1111 1111 1111 1111),就相当于把每个字节初始化为255

将数组初始化为0~9

法一:在函数内循环

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void init(int arr[], int len)
{int i;for (i = 0; i < len; i++){arr[i] = i;}
}
int main()
{int arr[10];int len = sizeof(arr) / sizeof(arr[0]);init(arr,len);int i;for (i = 0; i < len; i++){printf("%d ", arr[i]);}return 0;
}

法二:循环调用函数

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void init(int arr[], int i)
{arr[i] = i;
}
int main()
{int arr[10];int len = sizeof(arr) / sizeof(arr[0]);int i;for (i = 0; i < len; i++){init(arr, i);}for (i = 0; i < len; i++){printf("%d ", arr[i]);}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/223278.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速开发出一个公司网站

问题描述&#xff1a;参加一个创业活动&#xff0c;小组要求做一个公司网站&#xff0c;简单介绍一下自己公司的业务。需要快速完成。 问题解决&#xff1a;从网上找一个网站模板&#xff0c;类似于做PPT&#xff0c;搭建一个网站即可。 这里推荐的是京美建站、wordpress、he…

第1章 爬虫基础

目录 1. HTTP 基本原理1.1 URI 和 URL1.2 HTTP 和 HTTPS1.3 请求1.3.1 请求方法1.3.2 请求的网址1.3.3 请求头1.3.4 请求体 1.4 响应1.4.1 响应状态码1.4.2 响应头1.4.3 响应体 2. Web 网页基础2.1 网页的组成2.1.1 HTML2.1.2 CSS2.1.3 JavaScript 2.2 网页的结构2.3 节点树及节…

PT里如何针对某个模块设置false path

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 如题&#xff0c;这个问题实际上讲的是get_cells的用法&#xff0c;我们要抓取某个模块内的全部cell&#xff0c;在ICC2里可以get_flat_cells xx/xx/module_name*&#xff0c;但…

DBeaver连接MySQL提示“Public Key Retrieval is not allowed“问题解决方式

更新时间&#xff1a;2023年10月31日 11:37:53 作者&#xff1a;产品人小柒 dbeaver数据库连接工具,可以支持几乎所有的主流数据库.mysql,oracle.sqlserver,db2 等等,这篇文章主要给大家介绍了关于DBeaver连接MySQL提示"Public Key Retrieval is not allowed"问…

计算机毕业设计|基于SpringBoot+MyBatis框架的仿天猫商城购物系统设计与实现

计算机毕业设计|基于SpringBootMyBatis框架的仿天猫商城购物系统设计与实现 迷你仿天猫商城是一个基于SSM框架的综合性B2C电商平台&#xff0c;需求设计主要参考天猫商城的购物流程&#xff1a;用户从注册开始&#xff0c;到完成登录&#xff0c;浏览商品&#xff0c;加入购物…

Java自定义一个线程池

线程池图解 线程池与主线程之间通过一个阻塞队列来平衡任务分配&#xff0c;阻塞队列中既可以满足线程等待&#xff0c;又要接收主线程的任务。 线程池实现 使用一个双向链表实现任务队列 创建任务队列 //阻塞队列 public class BlockingQueue<T> {//双线链表private …

京东秒杀之商品展示

1 在gitee上添加.yml文件 1.1 添加good-server.yml文件 server:port: 8084 spring:datasource:url: jdbc:mysql://localhost:3306/shop_goods?serverTimezoneGMT%2B8driverClassName: com.mysql.cj.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourceusername: rootpa…

C语言:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数

分析&#xff1a; 在主函数 main 中&#xff0c;程序首先定义一个字符变量 c&#xff0c;以及四个整型变量 letters、k、s 和 o&#xff0c;并初始化它们的值为 0。然后使用 printf 函数输出提示信息&#xff0c;让用户输入一行字符。 接下来&#xff0c;程序通过 while 循环结…

线性分类器---损失函数与优化算法

如何衡量分类器对当前样本的效果好坏&#xff1f; 需要损失函数 什么是损失函数&#xff1f; 损失函数搭建了模型性能与模型参数之间的桥梁&#xff0c;指导 模型参数优化。  损失函数是一个函数&#xff0c;用于度量给定分类器的预测值与真实值 的不一致程度&#xff0c;…

线性分类器--分类模型

记录学习 北京邮电大学计算机学院 鲁鹏 为什么从线性分类器开始&#xff1f;  形式简单、易于理解  通过层级结构&#xff08;神经网络&#xff09;或者高维映射&#xff08;支撑向量机&#xff09;可以 形成功能强大的非线性模型 什么是线性分类器&#xff1f; 线性分…

入侵redis之准备---VMware安装部署kail镜像服务器【详细包含云盘镜像】

入侵redis之准备—VMware安装部署kail镜像服务器【详细包含云盘镜像】 kail是一个很好玩的操作系统&#xff0c;不多说了哈 下载kail镜像 kail官网:https://www.kali.org/get-kali/#kali-platforms 百度云盘下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1PRjo…

什么是半监督学习

1 概述 1.1 定义 半监督学习&#xff08;Semi-Supervised Learning&#xff09;是机器学习中的一个重要分支&#xff0c;它介于监督学习和无监督学习之间。半监督学习利用少量标注数据和大量未标注数据共同训练模型&#xff0c;旨在充分挖掘未标注数据中潜在的信息和模式&…