1.字符数组
也称为字符串,实际上是一个字节的整数数组.但如能考虑到字符串末尾的'\0'结束符,是很有益的
char chArray[30];
cin.get(chArray,30);
for(int i=0;chArray[i]!='\0';i++)
cout<<chArray[i]<<endl;
2.初始化字符数组:
(1)char array[10]={"hello"};(或char array[10]="hello";)
(2)char array[10]={'h','e','l','l','o','\o'};
第一种方法比较广泛,系统在数组没有填补的位置用'\0'补上.
char a[10]={'m','o','b'};
strlen(a)=3;char a[10]={'m','o','b','\0','a'};
strlen(a)=3;
char a[3]={'m','o','b'};
strlen(a) 不确定
该代码不会引起编译错误,但改写了数组以外的内存单元,危险.至少要有4个元素.
3.字符数组和字符串常量
由引号("")标识,但不是用来初始化数组的字符串,是字符串常量.字符串常量的类型是指向字符的指针(字符指针char*),字符串常量在内存中以'\0'结尾,这种类型的字符串称为c字符串,或asciiz字符串.字符串常量存放在内存data区中的const区,
而字符数组是根据其数据存储的特点存放在相应的位置上.如是全局变量,就存放在内存的data区中全局或静态区,如字符串是局部变量,就存放在内存的栈区.
4字符指针
输出字符指针就是输出字符串
输出字符指针的间接引用,就是输出单个字符
5.命令行参数的使用形式
在命令行参数中,有时某个参数含有空格,而操作系统是以空格作为区分下一个参数的标志.解决方法是将该参数用引号括起来
|