C语言之字符串和字符的区别 您所在的位置:网站首页 汉字也是字符串吗 C语言之字符串和字符的区别

C语言之字符串和字符的区别

2023-08-12 00:38| 来源: 网络整理| 查看: 265

C语言中字符定义为一种基本数据类型(char),表示单个字符;字符串不是基本数据类型,但可以通过char的数组代替,末尾用’\0’结束。字符串一定是一个char型数组,但是char型数组不一定是字符串;char型数组和字符串的区别就是是否在末尾处有‘\0’。char是一个单独的字符,在32位系统中占用1个字节的存储空间;字符串是固定长度的连续空间(实际上就是数组的定义)。

举例:

#include #include #include int main(void) { char c = 'a'; char s[10] = "hello"; printf("sizeof(c) = %d\n", sizeof(c)); printf("sizeof(s) = %d\n", sizeof(s)); printf("strlen(s) = %d\n", strlen(s)); printf("sizeof(\"123\") = %u\n", (unsigned)sizeof("123")); printf("sizeof(\"asd\ab\") = %u\n", (unsigned)sizeof("asd\ab")); printf("sizeof(\"asd\\0dsf\") = %u\n", (unsigned)sizeof("asd\0dsf")); system("pause"); return(0); }

结果如下: 在这里插入图片描述 明显的,char型变量占用一个字节,s[]数组分配10个字节的空间,strlen长显示的是字符的个数。对于字符串字面量,sizeof取得值必然包含1字节的’\0’,见后面三个举例(\a,\0被当做转义字符,占用一个字节,(unsigned)sizeof(“asd\0\0\0dsf”)必然等于10)。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有