博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言中字符串的创建
阅读量:4656 次
发布时间:2019-06-09

本文共 991 字,大约阅读时间需要 3 分钟。

  在C中创建字符串的方法有两种,即通过指针创建或通过数组创建。

                通过指针创建

  创建语句:

1 char *str = "abc";

  这句代码首先创建一个指针,再将字符串赋值给指针,其实这句代码可以写为两句,即:

1 char *str;2 str = "abc";

  为什么第2句代码可以成立,可以这样来解释,在C语言中赋值符号两边的数据类型必须一致才不会报错。这样看来,str和“abc”都为指针类型,查阅资料后了解到确实如此。原因在于双引号做了如下工作:

  1. 申请空间(在常量区),存放字符串;

  2. 在字符串末尾添加字符结束符“\0”;

  3. 以指针形式返回地址。

  根据第3点语句2中等号右边的“abc”返回的是一个指针类型的变量。我们来测试一下程序的结果如何,测试代码如下:

1 void main()2 {  3     char *str;4     str = "abc";5     printf("%s",str);6     getchar();7 }

  结果如下:

 

  测试工具为vc++6.0

                 通过数组创建

  创建语句,以下两个语句都可以创建字符串,需要注意的是用双引号表示的字符串后面还有一个隐藏的字符结束符“\0”,所以1中的字符长度应该笔你实际看到的要多1。

创建方法1 char *str[4] = "abc"; 创建方法2 char str[4] = {'a','b','c','\0'};

  针对创建方法1的测试代码:

1 void main()2 {  3     char str[4] = "abc";4     printf("%s",str);5     getchar();6 }

  针对创建方法2的测试代码

void main(){      char str[4] = {
'a','b','c','\0'}; printf("%s",str); getchar();}

 

  测试结果如下,都是一样的:

  

 

  测试工具为vc++6.0

  以上就是C语言中字符串的创建方式。

 

转载于:https://www.cnblogs.com/happy2015-everyone/p/11017197.html

你可能感兴趣的文章
.net 使用AgsXMPP与openfire连接,实现跨平台信息流通。
查看>>
DP动态规划【专辑@AbandonZHANG】
查看>>
Android TextureView简易教程
查看>>
IDEA解决从git上clone代码没有maven依赖的问题
查看>>
django 在centos 7 下 指定ip地址和端口 报错问题
查看>>
1203 实验三 进程调度模拟实验
查看>>
ptyhon之路day3-文件处理及函数1
查看>>
SAE上部署Django (Mac OSX)
查看>>
Windows反复重启的可能的解决办法
查看>>
CheckRefreshed 判断页面刷新
查看>>
NOIP 2000 乘积最大
查看>>
fatal: the remote end hung up unexpectedly
查看>>
Delphi-操作剪贴板
查看>>
hdu 1029
查看>>
Docker 容器的网络连接 & 容器互联
查看>>
吾爱专题脱壳练习----压缩壳练习之三
查看>>
LeetCode -- Palindrome Linked List
查看>>
栈应用——逆波兰式表达式的值
查看>>
vscode 快速生成html
查看>>
div模拟textarea且高度自适应
查看>>