【C++】C++自学旅程(4):数组与字符数组

  数组方面基本与C相同。需要注意几个点如下:

一、多维数组

  除了一维数组、二维数组,当然还可以实现多维数组(n维都可以),定义和使用方式类比二维数组。多维数组其实就是很多个一维数组的嵌套,数组里面有数组。

二、字符数组

  字符数组就是数组元素为字符的数组,但其值得一提的是可以作为字符串使用。C++仍然没有字符串变量,实际上,string并不是C++语言本身具有的基本类型,它是在C++标准库中声明的一个字符串类,用这种类可以定义对象。每一个字符串变量都是string类的一个对象。

  一个中文字占2B

三、字符函数复习

  定义在<cstring>或者<string.h>中。


函数

功能
strcpy(targetstr,sourcestr) 拷贝
strncpy(targetstr,sourcestr,limit) 拷贝,最多拷贝limit个字符
strcat(targetstr,sourcestr) 连接
strncat(targetstr,sourcestr,limit) 连接,最多连接limit个字符

strlen(sourcestr)

返回字符串长度的整数值
strcmp(str1,str2) 比较,大于则返回正数,等于返回0,小于返回负数
strncmp(str1,str2,limit) 比较,最多比较limit个字符
时间: 2025-01-02 13:32:52

【C++】C++自学旅程(4):数组与字符数组的相关文章

String.getBytes()和String.tocharArray(),字节数组和字符数组的区别

String.getBytes()是将字符串转化为一个字节数组.而String.toCharArray()是将一个字符串转化为一个字符数组. [例如] byte bys[] ="国庆60周年".getBytes(); char chs[]="国庆60周年".toCharArray(); [那么字节数组和字符数组有什么区别呢?] 字节输入流和输出流的read和write方法使用字节数组读写数据,即以字节为基本单文处理数据.因此,字节流不能很好地操作Unicode字符,

实验九:二维数组和字符数组的应用

知识点: 二维数组的定义及引用:1.二维数组的定义: 二维数组的定义形式:类型名   数组名[行长度][列长度]:例如:        int  a[3][2]:        定义1个二维数组a,3行2列,6个元素: int   b[5][10]:        定义1个二维数组a,5行10列,50个元素: 二维数组的引用:行下标的范围:0~行长度-1:                        列下表的范围:0~列长度-1: 字符串的存储和运算可以用一维字符数组实现: 一维字符数组的定义

作业九 二维数组和字符数组的应用

知识点: (1)二维数组的定义形式为: 类型名 数组名 [行长度] [列长度]; (2)引用二维数组的元素要制定两个下标,即行下标和列下标,形式为: 数组名 [行下标] [列下标] (3)行下标的合理取值范围是[0,行长度-1],列下标合理的取值范围是[0,列长度-1]. (4)分行赋初始值,一般形式为: 类型名 数组名 [行长度] [列长度]={{初值表0},-,{初值表k},-}; 然后可把初值表k中的数据一次赋值给第k行的元素. (5) 顺序赋初始值,一般形式为: 类型名 数组名 [行长度

string str将str转字符数组以及字符数组初始化

c和指针(<pointers on c>) 8.1.11 一个字符串,如"hello",一般为字符串常量,可以用它对字符指针赋值,或初始化,相当于把这个字符串常量的首地址赋给这个指针,如: char *p = "hello"; 或者 char *p; p="hello"; C++STL之string 字符串常量不能write能read 但是,当用"hello"给字符数组作初始化时,"hello"

【学习ios之路:C语言】一维数组,数组排序,字符数组

1.数组 数组,快速定义多个变量. 数组定义: 数据类型 数组名[数组元素的个数] = {值1, 值2, 值 3}; 数组所占存储空间大小 = 数组元素个数 * 每个元素所占的存储空间大小. %lu  unsigned long 无符号的长整型. 无符号 >=0 sizeof 存储大小值  //用来计算一个变量,类型,以及数组所占存储空间的大小. int a[5] = { 2, 7, 4, 3, 6 };  printf("%lu\n", sizeof(arr)); //5 in

字符数组的定义与使用详细解析

1. 字符数组的定义: 用来存放字符量的数组称为字符数组. 形式数值数组相同.例如: char c[10]; 由于字符型和整型通用,也可以定义为int c[10],但这时每个数组元素占2个字节的内存单元. 字符数组也可以是二维或多维数组.例如: char c[5][10]; 即为二维字符数组. 2. 字符数组的初始化 第一种方法是分别对每一个元素进行赋值操作: 字符数组也允许在定义时作初始化赋值.例如: char c[10]={'c', '  ', 'p', 'r','o', 'g', 'r',

C语言第四讲:一维数组,字符数组

数组: 定义: 数据类型 数组名[数组元素个数] = {值1,值2,....} 本质:快速定义多个 相同数据类型的变量 数组的缺点:定义出来的是 相同数据类型 的变量. 如: int c[5] = {0};//在给定数组元素个数的时候,可以按照该模式,全部赋初值为零 int a[] = {4, 5, 6};//在没有给定数组元素个数的时候,可以按照该模式,此时,一定要写清楚所有的初值. 数组元素的访问: 通过数组名加下标来访问的 如:a[1],切记下标从零开始. 注意:1,数组最后一个元素的下标

字符 字符串 字符数组 字符串指针 指针数组

一.字符串指针.字符数组 1. 字符串指针:字符串指针变量本身是一个变量,用于存放字符串的首地址.而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以'\0'作为串的结束. char *ps="C Language"; 可以写为: char *ps;  #ps字符串指针,是指针,是一个变量, ps="C Language"; #ps为字符串的首地址,利用ps++可遍历字符串,字符串存储在以ps为开始地址的地段连续的内存空间中,并以'\0'作为字符串的结束.

字符指针,字符数组,双引号的字符串的区别与联系

作者 :  陈宗权 先说说双引号的字符串,比如"chenzongquan",它是由里面咱们看到的一系列字符以及一个尾随的'\0'字符组成,存储在内存的只读存储区中.只读存储区是在整个程序运行期间都保留着的.可见的,而且其中的数据原则上是保持不变的.所以对一个双引号表示的字符串,只要你知道它的具体地址,可以在程序的任何一个函数中再次使用. 说到只读,要引一下,在16位系统中没有进行内存访问保护,所以在程序运行时实际上也可以改变只读存储区中的数据,但是在32位系统中有内存访问保护,程序运行