前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小朋友学C语言(21):字符串

小朋友学C语言(21):字符串

作者头像
海天一树
发布2018-04-17 12:28:10
9810
发布2018-04-17 12:28:10
举报
文章被收录于专栏:海天一树海天一树

在 C 语言中,字符串实际上是使用 null 字符 '\0' 终止的一维字符数组。

(一)下面是一个定义字符串的例子。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 "Hello" 的字符数多一个。

char str[ ] = {'H', 'e', 'l', 'l', 'o', '\0'};

但是在算字符串的长度时,最后的空字符‘\0’不算在内。

验证程序:

#include <stdio.h>
#include <string.h>
int main ()
{
       char str[] = {'H', 'e', 'l', 'l', 'o', '\0'};
    printf("string1: %s\n", str);
    int len1 = sizeof(str) /sizeof(char);
    int len2 = strlen(str);
    printf("The size of array is %d\n", len1);
    printf("The length of string1 is %d\n", len2);
       return 0;
}

运行结果:

string1: Hello
The size of array is 6
The length of string1 is 5

以下是 C/C++ 中定义的字符串的内存表示:

(二)还可以把字符串的定义写为char str[] = "Hello";

#include <stdio.h>
#include <string.h>
int main ()
{
       char str[] = "Hello";
    printf("string1: %s\n", str);
    int len1 = sizeof(str) /sizeof(char);
    int len2 = strlen(str);
    printf("The size of array is %d\n", len1);
    printf("The length of string1 is %d\n", len2);
       return 0;
}

运行结果:

string1: Hello
The size of array is 6
The length of string1 is 5

可见结果是完全一样的。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海天一树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档