char数组和char*初始化
char*动态分配:
用c语言中的(char*)malloc(sizeof(char)*n),或c++中的new char(n);
char数组初始化
初始化
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);
char数组和char*初始化相关推荐
- char[]数组与char *指针的区别
char[]数组与char *指针的区别 问题描述 虽然很久之前有看过关于char指针和char数组的区别,但是当时没有系统的整理,到现在频繁遇到,在string,char[], char *中迷失了 ...
- char数组与char指针
转载来源: https://www.cnblogs.com/nzbbody/p/3553222.html https://blog.csdn.net/jack_20/article/details/7 ...
- c语言char数组的对比,char数组 、char指针与字符串常量的比较
数组不是基本类型,不能直接参与比较,数组与字符串及字符指针与字符串比较其实比较的是二者的地址. 例: int isequiv(char *t) { if (t == "char") ...
- C++ char数组和char*的输入
int main(){char* s1 = "abc";cin >> s1; // errorcout << s1;char s2[10]; // okci ...
- c++ char数组和char*
如果数组长,有多少复制多少,如果数组短,则数组填满为止 char arr[2] = { 0 }; int i; for (i = 0; i < sizeof(arr); i++) { print ...
- char数组和char指针数组赋值的区别
char *p="abcde"; 这种方式是定义了一个字符型指针,指向常量字符串"abcde",可认为编译器做了下面的事情:在常量区分配6个字节,分别放上a,b ...
- python char数组_Python char数组声明
可以使用array(python中的数组具有固定的类型签名,但不具有固定的大小):>>> import array myArray = array.array('c', ['\0' ...
- C++之char数组字符串
C++之char数组字符串 #include <iostream>using namespace std;int main() {system("chcp 65001" ...
- 在Java中将字符串转换为char数组,将char数组转换为String
Today we will learn how to convert String to a char array and then char array to String in Java. 今天, ...
最新文章
- 【青少年编程竞赛交流】10月份微信图文索引
- mysql双主数据一致性_mysql双主复制的主备数据一致性知多少
- LeetCode 22 括号生成
- AOJ GRL_1_B: Shortest Path - Single Source Shortest Path (Negative Edges) (Bellman-Frod算法求负圈和单源最短路径)
- 电源纹波分析及测试方法
- ubuntu11.10 samba服务器配置
- 格式说明_ISO11784/85 FDX-B动物芯片格式写码说明
- 有必要考国二mysql_计算机二级必须要考吗
- 【资讯】2017年最好的25大发明,你最钟爱哪个?
- 企业内部自建用户行为分析平台全过程
- python/匿名函数和内置函数
- (32)FPGA面试题时序约束
- 【算法学习】【图像增强】【Retinex】源码运行
- WinForm系统 -- 系统架构
- Redis客户端工具安装
- redhat linux iso下载
- 【U3D方向专职猎头】 大厂、高薪职位资源多 非U3D资深勿扰 工作地点北京、深圳、上海、杭州、广州、成都、加微信17512088053
- 【科普】中医药治疗重症肌无力的独特优势
- office卸载工具怎么用(官方干净卸载方法)
- android自动屏幕点击事件,Android 中屏幕点击事件的实现