C字符数组及其应用

1.字符数组和其他数值类型的数组的定义引用和初始化都是相同的。

特别注意的是:

在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。

\0‘是由C编译系统自动加上的。

2.

C语言允许用字符串的方式对数组作初始化赋值。例如:
    char c[]={‘c‘, ‘ ‘,‘p‘,‘r‘,‘o‘,‘g‘,‘r‘,‘a‘,‘m‘};
可写为:
    char c[]={"C program"};
或去掉{}写为:
    char c[]="C program";

3.字符数组的输入输出:

scanf();

printf();

注意:

应该说明的是,对一个字符数组,如果不作初始化赋值,则必须说明数组长度。还应该特别注意的是,当用scanf函数输入字符串时,字符串中不能含有空格,否则将以空格作为串的结束符。

时间: 2024-12-29 10:06:42

C字符数组及其应用的相关文章

C++中字符数组和字符串string

字符数组 C++中字符数组用char str[]可以用来表示一个字符串. (1)   数组的大小和字符串的长度. 数组的大小一定要大于字符串的长度,因为系统会自动补上一个'\0'作为字符串的结束标志.当然对于未初始化的也补'\0'. #include <iostream> #include <string> using namespace std; int main() { char str[11] = "I am happy"; // 系统会自动补上'\0'空

对比c++中的string与c中的字符数组的构造和初始化

string类的构造函数: string(const char *s);    //用c字符串s初始化string(int n,char c);     //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1:string s2="hello":都是正确的写法.当构造的string太长而无法表达时会抛出length_error异常 : 关于c中的字符数组: 请参考: http://blog.csdn.net/wangrunmin/article

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

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

倒置字符数组中的字符

问题:如何把字符串 "We are the world" 转成 "world the are we" ?如果最多只能用两个额外的变量又该如何实现这样的转换? 分析:1.把字符串转成字符数组,然后对字符数组进行操作. 2.选择倒置字符数组的方法:用一个临时变量temp来交换两个字符,然后依次移动数组中的其他元素:利用 A=A+B, B=A-B, A=A-B 方式来交换两个字符. 3.根据数组中首尾字符的位置来倒置它们之间的字符. 4.优化方法:减少循环的次数,减少变量

字符指针与字符数组

学了挺久的c语言,c语言有意思的就有指针这一大块,另外就是字符串,字符指针与字符数组的区别对于初学者应该是比较难以区分的,讲讲自己的看法. 1.定义上的区别 字符数组具有固定的地址,且字符数组的名字不能更改或运算. 字符指针是一个变量,用来存储首字符的地址,且指向的字符串通常为一个常量. char str[] = "helloworld"; str[4] = 'X'; printf("%s",str); 输出结果:hellXworld char *str = &qu

字符串指针(char*)和字符数组(char [])区别

原文:http://www.blogbus.com/kavine-logs/29243638.html 今天在编写几个小函数的时候,半天调不通,长久不使用C++知识都快忘光了,赶紧拣些起来应付即将到来的应聘. void main(){    char* pStr1 = "Hello!";    char pStr2[] = "Hello!";    change(pStr1);    change(pStr2);}void change(char* pInstr){

字符串和字符数组

  1.字符串 严格意义上来说,C语言并没有字符串原生的字符串的类型,而是通过字符指针来实现的:char *p = "LINUX";.而对于其他的高级语言来说,比如C++的就存在字符串类型: string p1 = "I LOVE LINUX"; . 字符串在内存中其实就多个字节组成的,且地址都是连续的:指针指向字符串的的头部:字符串的结尾是以"\0"(是真能整的零)作为字符串结束的标志. "\0" 的理解: \0 是一个 A

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

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

C语言——字符数组

在C语言编程中,我们一般用一个字符数组来存放一个字符串.例如,我们想存储这个字符串“http://i.cnblogs.com”,这个字符串一共有20个字符,要存放下这个字符串,我们需要一个长度为21的字符数组.为什么是21个而不是20个呢?在C语言中,字符串数组默认以'\0'结尾,所以我们一共需要一个长度为21的字符数组来存储这个变量. unsigned char text[21] = “http://i.cnblogs.com”; 既然我们已经知道了如何存放一个字符串,那下面我们来讨论另外几个

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

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