[C++程序设计]字符数组的赋值与引用

只能对字符数组的元素赋值,而不能用赋值语句对整个数组赋值.

char c[5];

c={′C′,′h′,′i′,′n′,′a′}; //错误,不能对整个数组一次赋值

c[0]=′C′; c[1]=′h′;c[2]=′i′;c[3]=′n′;c[4]=′a′; //对数组元素赋值,正确

如果已定义了a和b是具有相同类型和长度的数组,且b数组已被初始化,请分析:

a=b; //错误,不能对整个数组整体赋值

a[0]=b[0]; //正确,引用数组元素

字符串和字符串结束标志

常量来初始化字符数组。例如

char str[]={′′I am happy′′}; 也可以省略花括号,直接写成

char str[]=′′I am happy′′;

上面的初始化与下面的初始化等价: char str[]={′I′,′ ′,′a′,′m′,′ ′,′h′,′a′,′p′,′p′,′y′,′\0′};

需要说明的是:字符数组并不要求它的最后一个字 符为′\0′,甚至可以不包含′\0′。如以下这样写完全是合法的:

char str[5]={′C′,′h′,′i′,′n′,′a′};

是否需要加′\0′,完全根据需要决定。但是由于 C++编译系统对字符串常量自动加一个′\0′。

人们为了使处理方法一致,便于测定字符串的实际长度,以及在程序中作相应的处理,在字符数组中有效字符的后面也人为地加上一个′\0′。

如 char str [6]={′C′,′h′,′i′,′n′,′a′,′\0′};

[C++程序设计]字符数组的赋值与引用

时间: 2024-10-14 10:51:12

[C++程序设计]字符数组的赋值与引用的相关文章

C++中的字符数组逐个赋值时报错的解决方法

C++中的字符数组逐个赋值时报错的解决方法 C++中定义一个字符数组的时候,如果初始化,则cout的时候不会出错,但是在逐个字符赋值的时候,很容易出错. #include<iostream> #include<string> using namespace std; int main() { //char s[100] = "china"; char s[100]; s[0]='c'; s[1]='n'; s[2]='\0'; cout<<s<

[转] 字符数组的赋值

参考原文地址:http://blog.chinaunix.net/uid-26404201-id-3212247.html 定义一个数组char a[10]; 怎么给这个数组赋值呢? 1.定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!char a[10]; a[]="hello";也是错误的! 2.对数组中字符逐个赋值 char

字符数组初窥

什么是字符数组 字符数组使用字符的形式保存数组(实质上就是将单个字符利用数组的方式保存起来) 数组:采用int,float,double类型初始化 字符数组:采用char类型初始化 int i[]={1,2,3}; char ch[]={'h','e','l','l','o'}; 字符数组与字符串的区别 我们通常意义上说的字符串是类似于“hello”这样用双引号引起来的字符集.二者的区别主要集中在定义和赋值上. 在C中对字符串并没有明确的划分,一般使用字符数组来初始化字符串并赋值.即 char

c语言之字符指针变量和字符数组的异同

1.字符数组由若干个元素组成,每个元素中放一个字符,而字符指针变量中存放的是地址(字符串第一个字符的地址),而不是将字符串放到字符指针变量中. 2.赋值方式.对字符数组只能对各个元素进行赋值,不能用以下办法对字符数组进行赋值. char str[20]; str = "ni hao a"; 而对于字符指针变量,可以采用以下方式赋值: char *a; a = "ni hao a"; 但需要注意的是赋值给a的不是字符,而是字符串中第一个元素的地址. 3.如果定义了一个

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

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

c语言字符数组的初始化问题

1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'}; 即把10个字符分别赋给str[0]到str[9]10个元素 如果花括号中提供的字符个数大于数组长度,则按语法错误处理: 若小于数组 长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 '\0' ). 2.字符数组与字符串 在c 语言中,将字符串作为字符数组来处理.(c++中

c语言字符数组与字符串的使用详解

转自:http://www.jb51.net/article/37456.htm 1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ 'I',' ','a','m',' ',‘h','a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理:若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 '\0' ). 2.

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

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

C语言字符数组的定义与初始化

C 语言字符数组的定义与初始化 1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理:若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即'\0' ).2.字符数组与字符串在c 语言中,将字符串作为字符数组来处