关于“C语言中的字符数组和字符串”一些需要注意的基础点

在C语言中,没有类似Java的String类对字符串的处理,字符串的包装可以采用字符数组。

先看字符数组:

#include<stdio.h>

void main() {
char array[] = {'a','b','c'};
int str = sizeof(array)/sizeof(char);
printf("%d",str);

此时的输出结果为:3,即字符数组的长度为3.

下面我们用字符串初始化字符数组,代码如下。

#include<stdio.h>

void main() {
    char array[] = "abc";
    int str = sizeof(array)/sizeof(char);
    printf("%d",str);
    
}

此时的输出结果为:4. 但是如果用系统带的strlen()函数,则输出结果为3.

两段代码结果分析:在C语言编译器里面,字符串是默认以''为结束的。数组的长度必须比字符串的元素个数多一个,用以存放''.


关于字符串输入输出的几个操作函数:

1.输出函数:char a[] ="abcd";printf("%s",a);

2.输入函数:char a[10];scanf("%s",a);

3.输入函数:gets(str);----- char a[10];gets(a);

4.输出函数:puts(str);-----char a[]="abcd";puts(a);

总结:都是识别到了字符串的首地址,即数组名,即可进行操作。

原文地址:https://www.cnblogs.com/hushunfeng/p/3874078.html