C/C++ 数组、字符串、string
1.定义数组时,数组中元素的个数不能是动态的,不能用变量表示(const变量可以),必须是已知的。
2.引用数组时只能引用数组中某个元素,不能引用整个数组。
3.定义二维数组时,若同时全部初始化,则可省略第一维的长度,
int a[][3]={1,2,3,4,5,6,7,8,9};
4.数组做函数参数:
void haha(int array[],int n);
haha(a,10);
实参的值会改变,因为传入的是地址。
5.字符串数组:
char str[]="hello";
char str[]={'h','e','l','l','o','\0'};
上面两者等价,而不与下面等价
char str[]={'h','e','l','l','o'};
两者长度是不一样的,因为字符数组的最后一个元素可以不是'\0',并不会出错。
6.字符串处理函数,头文件:string或string.h
strcat(char[],const char[]);
strcat(str1,str2);
将str2添加到str1尾部,str2保持不变,str1变长。
strcpy(char[],const char[],int n);
strcpy(str1,str2);
strcpy(str1,str2,2);
将str2复制到str1,或将str2的前2个字符复制到str1。
strcmp(const char[],const char[]);
strcmp(str1,str2);
str1=str2,返回0;
str1>str2,返回1;
str1<str2,返回-1。
不能直接比较两个str,因为它们是地址。
strlen(const char[]);
char str[]="hello";
strlen(str);
返回str的长度,不包‘\0‘,故此处为5.
7.string:
string str=“sdsdsdsds”;
string定义的是普通变量而不是数组,可以随便赋值啥的,也可以用下标,如str[3]来访问并能够修改,可以直接用cin、cout。
string可以直接“=”,相当于strcpy;
string可以直接“+”,相当于strcat;
string可以直接“<",">”,相当于strcmp;
vs2015中,sizeof(string)=28。
C/C++ 数组、字符串、string的更多相关文章
- Java基础——数组应用之字符串String类
字符串String的使用 Java字符串就是Unicode字符序列,例如串“Java”就是4个Unicode字符J,a,v,a组成的. Java中没有内置的字符串类型,而是在标准Java类库中提供了一 ...
- 字符串string和内存流MemoryStream及比特数组byte[]互转
原文:字符串string和内存流MemoryStream及比特数组byte[]互转 字符串string和内存流MemoryStream及比特数组byte[]互转比较 定义string变量为str, ...
- c#中字节数组byte[]、图片image、流stream,字符串string、内存流MemoryStream、文件file,之间的转换
字节数组byte[]与图片image之间的转化 字节数组转换成图片 public static Image byte2img(byte[] buffer) { MemoryStream ms = ne ...
- C# int数组转string字符串
方式一:通过循环数组拼接的方式: int[] types = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; string result = string.Empty ...
- java字符数组char[]和字符串String之间的转换
java字符数组char[]和字符串String之间的转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 使用String.valueOf()将字符数组转换成字符串 void (){ cha ...
- JavaScript (JS)基础:DOM 浅析 (含数组Array、字符串String基本方法解析)
①文本对象document: 例如:document.getElementById() 只获取一个对象 document.getElementsByTagName() 获取 ...
- C++中字符数组和字符串string
字符数组 C++中字符数组用char str[]能够用来表示一个字符串. (1) 数组的大小和字符串的长度. 数组的大小一定要大于字符串的长度,由于系统会自己主动补上一个'\0'作为字符串的结束标 ...
- C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换
定义string变量为str,内存流变量为ms,比特数组为bt 1.字符串转比特数组 复制代码 代码如下: (1)byte[] bt=System.Text.Encoding.Default.GetB ...
- C#中字节数组byte[]和字符串string类型的相互转换
C#中字节数组byte[]和字符串string类型的相互转换: string转byte[]: byte[] byteArray = System.Text.Encoding.Default.GetBy ...
- ***php解析JSON二维数组字符串(json_decode函数第二个参数True和False的区别)
客户端的请求体中的数据:[{"msg_id": 1, "msg_status": "HAS_READ" }, { "msg_id& ...
随机推荐
- make eval builtin function
1 eval的返回值是空字符串,因此它可以用于Makefile的任何位置而不引起错误 2 eval函数的作用效果 生成Makefile的动态部分,即eval用于增加Makefile的构成部分. 也就是 ...
- Error 99 connecting to 192.168.3.212:6379. Cannot assign requested address
Error 99 connecting to 192.168.3.212:6379. Cannot assign requested address Redis - corelation betwee ...
- 创建javaScript 对象
创建新实例person 并向其添加四个属性: person=new Object(); person.firstname="Bill"; person.lastname=" ...
- I.MX6 Android stlport 使用
/****************************************************************** * I.MX6 Android stlport 使用 * 说明: ...
- 【转】vue中的钩子函数。。
前言 在vue开发SPA应用的过程中,多数情况下我们需要解决一个问题 就是在路由跳转的过程中需要更新你SPA应用的 title , 这一节不说其他,就展示如何使用 vue-router 的 导航钩子 ...
- Python 函数定义以及参数传递
Python 函数定义以及参数传递1.函数定义#形如def func(args...): doSomething123以关键字def 开头,后面是函数名和参数下面是函数处理过程. 举例: def ad ...
- SimpliciTI协议栈
SimpliciTI组网过程介绍 1.SimpliciTI支持点对点和星形的网络拓扑结构. 下面介绍以AP为中心的SimpliciTI网路协议的星形拓扑结构通信过程 1)当ED节点上电之后就扫描信 ...
- influxdb数据库增加身份认证(windows)三
接上一节,增加数据库身份认证 1.修改Config配置文件auth-enabled为true 2.然后重新载入最新的config配置文件打开数据库 3.验证身份认证功能是否已打开 说明身份认证功能已打 ...
- centos mysql数据库忘记密码修改
1.vim /etc/my.cnf 2.在[mysqld]中添加 skip-grant-tables 例如: [mysqld]skip-grant-tablesdatadir=/var/lib/mys ...
- jQuery查找
导航查找方法: 向下查找兄弟标签: $().next() $().nextAll() 向上查找兄弟标签: 可以查找所有兄弟标签: 查找子标签 查找父级标签: $().parent() $().pare ...