字符串和字符串数组和\0

来源:互联网 发布:什么是正定矩阵 编辑:程序博客网 时间:2024/05/30 23:33

C语言中字符串为什么要有\0呢?\0在字符串中的作用是什么
\0`在字符串中标志着结尾
用来判断这个字符串已经结束
如果不添加’\0’,系统就在内存中一直向后读,直到读到’\0’为止(这个情况就造成错误)
一个语句结束了,就用分号;表示结束
首先要区分,字符,字符数组,字符串的区别。
字符串默认的最后会有’\0’
char k = ‘a’; //定义的一个字符变量,并赋值为’a’字符
char a[10]; //定义一个size为10的字符数组,未初始化
char b[10] = {‘a’, ‘b’,’c’}; //定义字符数组,并用一组字符初始化,此时后面不会自动加上’\0’
char c[10] = {“abc”}; //定义字符数组,并用“字符串”初始化(双引号内部的是字符串),字符串后面会自动加上’\0’
此外:
对于char a[10];
gets(a);
scanf(“%s”, a);这两种方法为a的元素赋值,默认的最后会有’\0’. 这两个函数都人为输入的是字符串
for(int i = 0; i < num ; i ++)
scanf(“%c”, &a[i]);//这种方法,是每次读入一个字符。这时不会自动在后面加上’\0’

只有字符串数组后才需要跟\0,不是字符串数组不用加\0

0 0
原创粉丝点击