首页 > 其他分享 >char数组初始化

char数组初始化

时间:2024-05-27 20:33:06浏览次数:23  
标签:初始化 const str int void char 数组 size

原文:https://www.cnblogs.com/cfans1993/p/6404034.html

初始化的三种情况:

char str[10]="Hello";
char str[10]={'H','e','l','l','o','\0'};
char str[10]={'H'};
char str[10]={0};
 
char str[10]="Hello, world.\n";
 
char str[]="Hello, world.\n";

第一种情况:初始化数据小于数组长度
如前面两个初始化的例子,这两个例子的效果一样,前五个字符为Hello,剩余的用'\0'填充
第三行与第四行,都只指定了第一个字符,剩余的全部用'\0'填充。第四个例子相当将整个数组初始化为'\0'

第二种情况:初始化数据等于或超过数据长度
这种情况下,超出的部分将被丢弃,所以最五个例子的最后一个字符为'r'.
此时使用一些字符串函数时要特别注意,因为该数组不含有'\0',会造成不可预期的结果

第三种情况:不指定数组长度
这种情况下,数组部分如果不含有明确指定的'\0',那么编译时会被自动添加一个'\0';
在数组不含有明确的'\0'时,sizeof=strlen+1

一些字符串函数

#incldue <string.h>
 
void *memset(void *s,int c,size_t n);
 
size_t strlen(const char *s);
 
void *memcpy(void *dest,const void *src,size_t n);
void *memmove(void *dest,const void *src,size_t n);
 
char *strcat(char *dest,const char *src);
char *strncat(char *desk,const char *src,size_t n);
 
//大小写敏感
int memcmp(const void *s1,const void *s2,size_t n);
int strcmp(const char *s1,const char *s2);
int strncmp(const char *s1,const char *s2,size_t n);
 
//大小写不敏感
int strcasecmp(const char *s1,const char *s2);
int strncasecmp(const char *s1,const char *s2,size_t n);
 
//正反向查询
char *strchr(const char *s,int c);
char *strrchr(const char *s,int c);
char *strstr(const char *haystack,const char *needle);
 
//分割字符串
char *strtok(char *str,const char *delim);
char *strtok_r(char *str,const char *delim,char **saveptr);

 

标签:初始化,const,str,int,void,char,数组,size
From: https://www.cnblogs.com/fzzfh/p/18216471

相关文章

  • Java数组
    1、数组概述数组是相同类型数据的有序集合。数组描述的是相容类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。数组下标是从0开始的。2、数组声明创建首先必须声明数组变量,才能在程序中使用......
  • 《python本机环境多版本切换》-两种方式以及具体使用--venv/pyenv+pycharm测试
    阿丹:sourcemyenv/bin/activate    在开发使用rasa的时候发现自己安装的python环境是3.12的,和rasa不兼容,所以实践一下更换多python环境。使用虚拟环境在Python中使用虚拟环境来切换Python版本是一个常见的做法,这可以帮助你为不同的项目维持独立的Python环境和依赖......
  • JSON里包含的数组中的值 (List数组或对象)转换出来并读取, 通过 hutool 中的API 方法
    hutool 是一个Java工具包,它提供了很多实用的功能,包括JSON的处理。在 hutool 中,你可以使用 cn.hutool.json.JSONUtil 类来解析和处理JSON数据。如果你想要获取JSON中的数组(JSONArray),并遍历读取其中的值(无论是基本类型还是对象),你可以按照以下步骤操作:首先,确保你的项目......
  • 调用三方接口,outputStream.write传参数中参数怎么写,在转化成字节数组之前,是A=a&B=b的
    当您调用第三方接口并通过OutputStream.write()方法发送参数时,如果接口期望的是application/x-www-form-urlencoded类型的参数(常见于POST请求中提交表单数据),那么您确实需要将参数转换成A=a&B=b这样的格式,然后再将这个字符串转换成字节数组。以下是转换和发送这种类型参数的步骤:......
  • 【白鲸优化算法】 tent、chebyshev、Singer、Logistic、Sine, Circle多种混沌初始化的
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 【白鲸优化算法】 tent、chebyshev、Singer、Logistic、Sine, Circle多种混沌初始化的
     ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 在JavaScript中如何移除数组中的特定项
    在日常开发中,我们经常需要从数组中移除某个特定的元素。在JavaScript中,存在多种不同的方法来完成这一任务,本文将总结几种常见的处理方式,并介绍它们的优缺点。常规情况1.使用.splice()方法按值移除数组元素是否修改原数组:是是否移除重复项:是(使用循环),否(使用i......
  • 区间统计 聚合函数组合器
     聚合函数组合器|ClickHouseDocshttps://clickhouse.com/docs/zh/sql-reference/aggregate-functions/combinators示例考虑一下 people 表具有以下数据的表结构:┌─name───┬─age─┬─wage─┐│John│16│10││Alice│30│15││Mary......
  • yii2好用的数组封装函数
    之前用yii2的时候框架封装的几个数组函数很好用,中间换了框架,把函数封装成了util<?phpnamespaceapp\utils;interfaceArrayable{/***Returnsthelistoffieldsthatshouldbereturnedbydefaultby[[toArray()]]whennospecificfieldsarespecified.......
  • 数组的应用
    一、概念   一组相同类型元素的集合(可以存放一个或多个元素),即存放一组数据。其中,相同类型是指数组中每个元素的类型相同。二、一维数组的创建和初始化 2.1数组创建  基本语法  typearr_name[常量值]#include<stdio.h>intmain(){intdata[10];......