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& ...
随机推荐
- HDU1007(求近期两个点之间的距离)
一年前学长讲这题的时候,没听懂.自己搜解题报告也看不懂,放了一年. 现在对分治和递归把握的比一年前更加熟悉,这题也就攻克了. 题意:给你一堆点让你求近期两点之间距离的一半,假设用暴力的话O(n*n)明 ...
- js需要注意的地方
1.function xx(){}定义函数,而对象和函数合写才是方法. 2.typeof返回一个用于识别其运算数类型的字符串.但是需要注意的是,比如typeof null返回的对象是object而不是 ...
- ZFIND_EXIT_BADI
*&---------------------------------------------------------------------* *& Report ZFIND_EX ...
- mongodb07---用户权限
用户管理: 注意: 添加用户后,我们再次退出并登陆,发现依然可以直接读数据库? 原因: mongodb服务器启动时, 默认不是需要认证的. 要让用户生效, 需要启动服务器时,就指定 --auth 选项 ...
- HDU4185 Oil Skimming —— 最大匹配
题目链接:https://vjudge.net/problem/HDU-4185 Oil Skimming Time Limit: 2000/1000 MS (Java/Others) Memo ...
- Ural 2003: Simple Magic(数论&思维)
Do you think that magic is simple? That some hand-waving and muttering incomprehensible blubber is e ...
- 2. Ext中关于Ext.QuickTips.init()的使用
转自:http://www.cnblogs.com/jianglan/archive/2011/08/26/2154120.html 在extJS的例子中,大部分都在程序第一行使用了如下语句:Ext. ...
- TensorFlow博客翻译——用TensorFlow在云端进行机器学习
https://github.com/tensorflow/tensorflow 原文地址 Machine Learning in the Cloud, with TensorFlow Wednesd ...
- [笔记]如何将已存在的JAVA添加到当前ECLIPSE JAVA工程中
找到路径.ctrl C .ctrl V F5就行了
- Excel -- 实用技巧
一起来学习这45个职场Excel小窍门,轻轻松松提高工作效率,超实用,新技能get! 1.快速填充公式的三种方式 2.最快求和 3.添加文字下面线条的2种方法 4.设置列宽的3种方法 5.以cm为单位 ...