当前位置: 首页 > news >正文

做网站的原理/百度客服在线咨询

做网站的原理,百度客服在线咨询,asp网站js悬浮窗怎么做,想做运营怎么入手种一棵树最好的时间是十年前,其次是现在 ! 之前学习过数组,相信你已经耳闻过字符数组这一词了吧!下面我们来学习了解一下C语言的字符串常量(C语言中称为字符串字面量)和字符变量。 一、字符串字面量 1.字符串字面量…

种一棵树最好的时间是十年前,其次是现在 !

之前学习过数组,相信你已经耳闻过字符数组这一词了吧!下面我们来学习了解一下C语言的字符串常量(C语言中称为字符串字面量)和字符变量。

一、字符串字面量

1.字符串字面量中的转义序列

字符串字面量也可以包含转义序列(\n等等转义序列)。注意:十六进制和八进制数的转义序列较为复杂,要小心使用!

例如:

"hello\nworld\n"

输出就是:hello

                  world

2.延续字符串变量

有时候字符串字面量太长而不能单独放一行,通常就会在最后放一个 \ 结尾,那么C语言就可以在下一行继续输入。但是这样缩进效果就看着不明显了,例子如下:

#include<stdio.h>
int main(void)
{printf("ABCDE\FGHI\n");printf("abcde\
fghi\n");printf("123""456\n");
}

可以看到,使用 \ 时如果想要把字符串连续在一块输出就没有办法保证缩进格式,所以有一种办法来延续字符串字面量,即"..." "..."两个连起来就可以合并为同一条字符串。

3.储存字符串字面量:

本质上来说,C语言是把字符串字面量当做字符数组来处理的。(但是字符数组不是字符串!字符串最后会有一个\0!)

当C语言中出现长度为n的字符串字面量时,C语言就会为它分配一个长度为 n+1 的空间! 这块内存是用来储存字符串字面量中的字符,而多出来的一个空间是用来标志字符串末尾的额外字符(空字符)这个\0就是字符串字面量结束的标志,用转义字符\0代替,注意:不是 '0',空字符的码值为0,而零字符的ASCII码为48。

例如:字符串字面量"abc"是作为有4个字符的数组来储存的(a、b、c、\0 )

          字符串字面量" "(字符串字面量可以为空。且单独一个空字符储存 即 \0)

那么我们使用字符串字面量为printf函数传参时是传递了什么呢?既然是当做数组处理了,那么编译器自然就把他看做成char * 类型的指针。

例如:printf("abc");

          当调用printf函数时,会传递"abc"的地址(即指向储存字母a的内存单元的指针)

来看一下下面的代码及其运行结果

#include<stdio.h>int main()
{char *a,*b,c;a = "abc";b = "";c = '0';printf("a = %s\n",a);	printf("b[0] = %d\n",b[0]);printf("b = %s\n",b); printf("c = %c\n",c);return 0;
}

""空字符串中只有一个元素 \0,它就是整数0,但不是字符常量'0'!!!

4.字符串字面量的操作

刚才我们看到了这样的代码

#include<stdio.h>int main()
{char *a,*b,c;a = "abc";b = "";c = '0';printf("a = %s\n",a);	printf("b[0] = %d\n",b[0]);printf("b = %s\n",b); printf("c = %c\n",c);return 0;
}

通常,在C语言能使用char *指针的地方可以使用字符串字面量。例如字符串字面量可以出现在赋值符号的右边比如上面的char *a,a = "abc"这个赋值操作是让指针a指向了字符串的第一个字符。

C语言允许对指针取下标,因此我们也可以对字符串字面量取下标。例如 char ch; ch = "abc"[0]。

注意:不要去修改字符串字面量!(字符串字面量位于程序的一个叫做“代码段”的地方,而且是只读的,这里不多说)

二、字符串变量

在某些编程语言中会专门为字符串变量提供一种数据类型,而C语言中我们通常会使用一维数组来存储字符串(但一定要记得保证字符串最后以空字符结尾!!!)

当我们自己编写字符串处理函数时也好考虑好空字符的处理!

#define STR_LEN 10

  ...

char str[STR_LEN + 1];//这里把STR_LEN定义成10强调str最多可以储存10个字符的字符串,然后在str数组的声明中对STR_LEN+1来储存空字符。

当然了,声明长度为STR_LEN + 1 的字符数组并不意味着他总是用于存放长度为STR_LEN 的字符串,字符串的长度取决于空字符的位置,而不是取决于存放字符串的字符数组的长度。STR_LEN +1只是限制了字符串的最大长度。

1.初始化字符串变量

可以在声明的时候进行初始化

char str1[] = "hello world"

由于我们一定要确保数组的长度大于字符串字面量的长度,所以我们可以省略它的长度,这种情况下编译器会自动为它补充一个空字符。

字符串字面量"hello world"复制到数组str1中,然后编译器自动补充空字符,这样就可以看做成一个字符串变量了。

当然还有其他的初始化办法,不过记上面这个就行了,上面这个是最常用的。

2.字符数组与字符指针

char *a = "hello world"
char a[] = "hello world"

这两个看起来是一样的声明,前者是声明了一个指针a,后者声明了一个数组a ,都可以看做是字符串。然而两者是有较大的区别的,我们不能认为上面两者可以互换。

在声明为指针时,我们是不能去修改字符串字面量的。(还记得前面提到的只读区代码段吧)

注意:指针变量一定要初始化后再去使用!

3.puts()、gets()、printf()、scanf()、fgets()函数的使用。

 

 

http://www.lbrq.cn/news/737947.html

相关文章:

  • 北京网站开发招聘/搜索引擎营销的优势和劣势
  • 自己做图片网站/软文推广文案范文
  • 中国工商注册网官网/seo sem推广
  • 东营人力资源考试信息网官网/湖南企业seo优化推荐
  • 香港房地产网站/竞价托管咨询微竞价
  • wordpress主题美容/成都网站seo诊断
  • js网站繁体/百度指数数据官网
  • 厦门市建设厅网站/无锡百度竞价
  • 做网站哪一家比较好/微信营销的方法和技巧
  • 电子商务网站建设流程/河南网站建设制作
  • jquery网站开发平台/西安计算机培训机构排名前十
  • 成全视频观看免费高清第6季/网站推广seo方法
  • 濮阳网站建设在哪里/深圳华强北最新消息
  • 网络网站建设公司/我想做电商
  • html5新闻网站模板/河北seo诊断培训
  • 莱特币做空 网站/12345微信公众号
  • 大连网站开发价格/百度小程序入口
  • 海淀区网站建设/百度账号批发网
  • 棋类游戏网站开发/西安seo服务公司排名
  • 用记事本做电影介绍的网站/黑帽seo优化
  • 南京做网站建设有哪些/游戏推广怎么做引流
  • e站注册网站/餐饮营销策划方案
  • 网站建设 后台/企业网络宣传推广方案
  • 天津市建设工程造价管理协会网站/市场营销案例
  • java做的网站用什么发布/昆山网站制作公司
  • 南通购物网站建设/seo网站是什么意思
  • p2p网上贷款网站建设方案/seo入门培训学校
  • 怎样申请免费网站域名/广州网站建设方案优化
  • 电商网站开发计划书/百度拍照搜索
  • 动态网站和静态网站/点击排名优化
  • 深度学习之NLP基础
  • 01.初识mysql数据库,了解sql语句
  • 移动端网页调试实战 Cookie 丢失问题的排查与优化
  • RecSys:粗排模型和精排特征体系
  • LeetCode100 -- Day1
  • 学习Python中Selenium模块的基本用法(5:程序基本步骤)