字符数组

字符数组和数组的定义是一样的,赋值也和数组差不多,只不过字符数组用来存放字符。其实我感觉用起来也是一样的。

字符数组的引用

#include <stdio.h>
int main()
{
    int i,j;
    chara[][5]=
    {
        {'B','A','S','I','C'},
        {'d','B','A','S','E'}
    };
for(i=0;i<=1;i++)
{
    for(j=0;j<5;j++)
    {
        printf("%c ",a[i][j]);
    }
    printf("\n");
}
}

在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。当把一个字符串存入数组时,也把结束符‘\0’存入数组,并以此作为该字符串的结束标志。有了‘\0’以后,就不必再用字符数组的长度来判断字符串的长度了。

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

字符数组的输入输出:

除了上述赋值方法以外还可以使用printf,scanf函数直接输入输出;

字符串处理函数:

  • puts()字符串输出函数
    一般形式:puts(字符数组名)
    功能:把字符数组中的字符串输出到显示器:
int main()
{
    char c[]="string666";
    puts(c);
    return 0;
}

但系统会显示有问题,所以老师给我们一个mygets的函数。

#include <stdio.h>
void mygets(char *ch,int size)
{
    int i=0;
    for(i=0;i<size-1;i++)
    {
        ch[i]=getchar();
        if(ch[i]=='\n')
            break;
    }
    ch[i]='\0';
    if(i==size-1)
    {
        while(getchar()!='\n');
    }
}
  • gets()字符串输入函数
    一般格式:gets(字符数组名)
    功能;从标准输入设备上输入一个字符串
int main()
{
    cahr st[15];
    printf("input st:");
    gets(st);
    puts(st);
    return 0;
}
  • strcat:字符串连接函数
    一般形式:strcat(字符数组名1,字符数组名2)
    功能:把字符串2中的字符串连接到字符数组1中字符串后面,并删除数组1中的‘\0’.

  • strcpy:字符串拷贝函数
    一般形式:strcpy(字符数组名1,字符数组名2)
    功能:把字符数组2中的字符串拷贝到字符数组1中。结束标志‘\0’也一同拷贝,。注意:要求字符数组1要足够长,否则不能全部装入所拷贝的字符串。

  • strlen:测试字符串长度
    一般形式:strlen(字符数组名)
    功能:测试字符串的实际长度(不含字符串结束标志‘\0’)并作为函数返回值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 4,007评论 2 13
  • 用来存放字符量的数组称为字符数组。 1 字符数组的定义 1. 字符数组的定义 字符数组的定义和整型数组的定义是相同...
    一叶之界阅读 1,223评论 0 0
  • 计算机二级C语言上机题库(南开版) 1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平...
    MrSunbeam阅读 6,464评论 1 42
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,473评论 3 44
  • 职场上,有种美德名叫“奉承” 文/宁国涛 我曾经有个名叫杨凯的同事。杨凯是我们单位著名的“马屁精”,因为他喜欢奉承...
    宁让职场更给力阅读 1,111评论 39 50