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

高港网站开发28招商加盟网

高港网站开发,28招商加盟网,wordpress不显示文章的时间,只用php做网站字符串常量,char数组,char指针之间的差异 1、字符串常量: 位于一对双括号中的任何字符。双引号里的字符加上编译器自动提供的结束标志\0字符,作为一个字符串存储在内存中。 例如: printf("%s","hello"); /…

字符串常量,char数组,char指针之间的差异

1、字符串常量:

        位于一对双括号中的任何字符。双引号里的字符加上编译器自动提供的结束标志\0字符,作为一个字符串存储在内存中。

例如:

printf("%s","hello"); //"hello"
char m = 'h'; //只能赋值一个字母,并且用单引号‘’。

如果字符串文字中间没有间隔或间隔的是空格符,ANSI C 会将其串联起来

例如:

char greeting[50] = "hello,and" "how are" "you";

等价于:

char greeting[50] = "hello,and how are you";

        字符串常量属于静态存储类。静态存储是指如果在一个函数中使用字符串常量,即使是多次调用了这个函数,该字符串在程序的整个运行过程中只存储一份。

2、字符串数组及其初始化:

初始化

例如: 

 char m[40] = "hello,world"; //定义字符串数组时必须指定数组大小(整型常量)

在指定大小时,要确保数组的大小比预定的大一个,因为编译器会自动添加'\0'。多余的元素会初始化为'\0'。

3、利用char指针定义字符串:

char *m = "hello,world"; //自动添加'\0'

4、数组和指针区别:

数组形式:

char m[40] = "hello,world"; 

指针形式:

 char *m = "hello,world";

数组形式:

        编译器会把数组名m看作是数组首元素的地址&m[0]的同义词,m是个地址常量。可以用m+1来识数组里的下一个元素,但不能使用++m,增量运算符只能在变量前使用, 而不能在常量前使用。

例如:

char m[40] = "hello,world";
cout << m; //输出: hello,world
cout <<m+1; // 输出: ello,world

        m[40]在计算机内存中被分配一个有40个元素的数组(其中每个元素对应一个字符,还有一个附加的元素对应结束的空字符'\0')。每个元素都被初始化为相应的字符。 

指针形式:

        指针形式(*m)也会在静态存储区为字符串预留空间。此外,一旦程序开始执行,还要为指针变量m另外预留一个存储位置,以在该指针变量中能够存储字符串的地址。m指向字符串的第一个字符,可用++m指向第二个字符。 指针m是个变量。 注意:字符串指针*m指向字符串常量,不能用*(m+1)='o'修改此常量,但是数组可以采用*(m+1)='o'修改此字符串,因为这个字符串常量放在常量区不能被修改。

例如:

char *m = "hello,world";
cout << m; //输出: hello,world
cout << ++m; //输出: ello,world

数组与指针差异:

例子:

char str1[] = "hello world!";
char str2[] = "hello world!";
char *str3 = "hello world!";
char *str4 = "hello world!";if (str1==str2) //str1/str2:代表的字符串的首地址,两者字符串首地址不同printf("str1 and str2 are same.\n");
elseprintf("str1 and str2 are not same.\n");if (str3==str4) //str3/str4:代表的常字符串的首地址,两者的地址相同,同指向常字符串的首地址printf("str3 and str4 are same.\n");
elseprintf("str3 and str4 are not same.\n");

结果:

str1 and str2 are not same.
str3 and str4 are same.

注意事项:

        str1/str3: 代表字符串的首地址, 它等价于&str1[0]/&str3[0];

        *str1/*str3: 代表字符串的首字母,它等价于str[0]/str[3];

单引号('')与双引号("")的区别:

        单引号是用来定义单个字符;

        双引号是用来定义字符串;

http://www.yayakq.cn/news/951166/

相关文章:

  • 宁波江北网站建设江门网站推广技巧
  • 个人网站icp买了个网站源码后要怎么用
  • 深圳定制专业网站网站建设分工的通知
  • 如何注册个人网站网页制作制作公司
  • 网站后台与前台app开发上线流程
  • 网站建设法规外贸网站优化公司
  • 公司网页网站建设+ppt模板下载百度搜索广告投放
  • 怎样建设小游戏网站南阳企业网站排名优化
  • 北京网页模板建站苏州seo全网营销
  • 有做电动车修车的网站吗滨州内做网站的公司
  • 照片做视频ppt模板下载网站wordpress pdf检索
  • 如何做网站个人个人怎么开网站
  • 装饰设计网站模板国内品牌备案建站
  • 湖南长沙天气郑州网站推广优化外包公司
  • 讯美 深圳网站建设二手书交易网站开发现状
  • 专做农产品跨境的网站有网站开发培训收费
  • 微信互动平台网站建设哪个网站教做西餐
  • 织梦网站模版下载高明网站开发公司
  • 网站整站开发视频教程怎样用word2003做网站
  • 帮别人做网站怎么备案视频信号无线传输设备
  • 如何在工信部网站查询icpip工作服定制
  • 苏州网站优化建设装饰装修公司排名前十强
  • 网站制作com6间房直播
  • 泉州网站公司公司网站建设费用怎么记账
  • 购物网站的建设费用沪佳装修贵吗
  • 用wordpress作下载站点常见网站架构
  • 徐州网站建设报价全国企业信息公示查询系统官网
  • firework做网站教程wordpress 分享可见
  • 怎么做动漫小广告视频网站济南网站制作培训班
  • 网站单个页面纯色直播