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

上海省住房与城乡建设厅网站在线做网站黄

上海省住房与城乡建设厅网站,在线做网站黄,怎样在阿里云做网站,品牌建设ppt文档下载文章目录 第08章_C语言常用函数本章专题脉络1、字符串相关函数1.1 字符串的表示方式1.2 两种方式的区别1.2 字符串常用函数strlen()strcpy()strncpy()strcat()strncat()strcmp()strlwr()/strupr()1.3 基本数据类型和字符串的转换基本数据类型 - 字符串字符串 - 基本数据… 文章目录 第08章_C语言常用函数本章专题脉络1、字符串相关函数1.1 字符串的表示方式1.2 两种方式的区别1.2 字符串常用函数strlen()strcpy()strncpy()strcat()strncat()strcmp()strlwr()/strupr() 1.3 基本数据类型和字符串的转换基本数据类型 - 字符串字符串 - 基本数据类型 2、日期和时间相关函数3、数学运算相关的函数4、内存管理相关函数4.1 C程序的内存分配4.2 void 指针(无类型指针)4.3 内存动态分配函数掌握:malloc()了解:calloc()了解:realloc()掌握:free() 4.4 举例4.5 动态分配内存的基本原则4.6 常见的内存错误及其对策 第08章_C语言常用函数 本章专题脉络 1、字符串相关函数 1.1 字符串的表示方式 C 语言没有单独的字符串类型,字符串被当作字符数组,即 char 类型的数组。表示方式如下: 方式1: char str[] = "hello";方式2: char *str = "hello";1.2 两种方式的区别 字符指针和字符数组,这两种声明字符串变量的写法基本是等价的,但是也有区别。 **区别1:**指针指向的字符串,在 C 语言内部被当作常量,不能修改字符串本身。 char* str = "hello!"; str[0] = 'z'; // 报错如果使用数组声明字符串变量,就没有这个问题,可以修改数组的任意成员。 char str[] = "hello"; str[0] = 'z'; // 不报错为什么字符串声明为指针时不能修改,声明为数组时就可以修改? 因为系统会将字符串的字面量保存在内存的常量区,这个区域是不允许用户修改的。声明为指针时,指针变量存储的值是一个指向常量区的内存地址,因此用户不能通过这个地址去修改常量区。但是,声明为数组时,编译器会给数组单独分配一段内存,字符串字面量会被编译器解释成字符数组,逐个字符写入这段新分配的内存之中,而这段新内存是允许修改的。 测试代码: int main() {char str1[] = "hello"; //新开辟的空间,保存数组中的数据char str2[] = "hello"; //新开辟的空间,保存数组中的数据printf("%p\n",str1); //000000f4a93ff81aprintf("%p\n",str2); //000000f4a93ff814char * str3 = "hello"; char * str4 = "hello"; //与前一个str3的数据是共享的,存在于常量区printf("%p\n",str3); //00007ff6842ca004printf("%p\n",str4); //00007ff6842ca004return 0; }区别2:指针变量可以指向其它字符串。 char* s = "hello"; s = "world";但是,字符数组变量不能指向另一个字符串。 char s[] = "hello"; s = "world"; // 报错字符数组的数组名,总是指向初始化时的字符串地址,不能修改。所以,声明字符数组后,不能直接用字符串赋值。 char s[10]; s = "abc"; // 错误为什么数组变量不能赋值为另一个数组? 因为数组变量所在的地址无法改变,或者说,编译器一旦为数组变量分配地址后,这个地址就绑定这个数组变量了,这种绑定关系是不变的,即不能用赋值运算符为它重新赋值。 想要重新赋值,必须使用 C 语言原生提供的 strcpy() 函数,通过字符串拷贝完成赋值。这样做以后,数组变量的地址还是不变的,即 strcpy() 只是在原地址写入新的字符串,而不是让数组变量指向新的地址。 char s[10]; strcpy(s, "abc");1.2 字符串常用函数 这里的字符串处理函数,都属于库函数。库函数并非C语言本身的组成部分,而是C语言编译系统为方便用户使用而提供的公共函数。不同的编译系统提供的函数数量和函数名、函数功能都不尽相同,使用时要小心,必要时查一下库函数手册。 在使用字符串处理函数时,应当在程序文件的开头用#include string.h把 string.h 文件包含到本文件中。 strlen() 作用:返回字符串的字节长度,不包括末尾的空字符 ‘\0’ 。 函数原型: // string.h //参数是字符串变量,返回的是 size_t 类型的无符号整数,一般当做int类型处理。 size_t strlen(const char* s);举例: #include stdio.h #include string.h //需要加载此头文件int main() {char str[10] = "China";printf("%d\n", strlen(str)); //5printf("%d\n", strlen("China")); //5//区别于sizeof(),是两个不同的概念printf("%d\n", sizeof(str)); //10 }strcpy() strcpy(字符数组1, 字符数组2) :字符串的复制,不能使用赋值运算符,直接将字符数组2的字符串复制到字符数组1中。 函数原型: // string.h strcpy(char dest[], const char source[]) 使用此函数前,如何复制字符串呢? 一方面,下面两种字符串的复制写法,都是错的。因为数组的变量名是一个固定的地址,不能修改,使其指向另一个地址。 char str1[10]; char str2[10]; str1 = "abc"; // 报错 str2 = str1; // 报错 另一方面,如果是字符指针,赋值运算符( = )只是将一个指针的地址复制给另一个指针,而不是复制字符串。 char* str1; char* str2;str1 = "abc"; str2 = str1; 此时,可以使用 strcpy(字符数组1,字符数组2) 函数,用于将一个字符串的内容复制到另一个字符串(前提:字符数组1的长度不小于字符数组2的长度,否则会溢出)。 举例: #include stdio.h #include string.hint main() {char str1[10], str2[] = "China";strcpy(str1, str2);printf("%s\n",str1);//或 // strcpy(str1, "China"); //参数2,也可以是一个字符串常量 // printf("%s\n",str1);//进一步str1[0] = 'A';printf(
http://www.hkea.cn/news/14419189/

相关文章:

  • 网站开发三大流行语言毕节城乡建设局网站查询
  • 织梦网站如何做404网站厨师短期培训班
  • 做网站首页cdr南京房产网
  • 为什么要网站备案海外医疗网站建设
  • 杭州电子商务网站建设公司手机能建设网站忙
  • 上海网站搭建网站设计的用途
  • 美色商城 网站建设中联建设集团网站
  • 深圳罗湖网站设计公司郑州大型网站制作
  • 承德网站制作建筑人才网与厦门人才网的中级工程师证书的区别
  • linux宝塔面板做网站上海企业网站排名优化
  • 赌求网站开发wordpress怎么开发主题
  • drupal joomla wordpress 移动设备搜索引擎优化是什么
  • 做网站 域名如何要回重庆网站公司制作价格
  • 网站开发 案例详解网站是如何做的好
  • 论述网站开发建设的一般流程网站开发 8g和16g
  • 给企业做网站如何定价企业合作的响应式网站
  • 杭州外贸网站网站作业成品
  • 温州做网站老师企业计划书
  • 网络推广网站推广wordpress 幻灯片加数字
  • 如何在百度上做自己的网站设计公司推荐
  • 广州南沙区网站建设专业制作网页公司价格
  • 网站建设素材网北京市建设集团有限公司
  • 北京 网站设计 地址通州html教程 菜鸟教程
  • 济南快速网站排名东莞网站关键词优化收费
  • 合肥模板网站建设软件电脑 手机 微信网站开发
  • 大型网站开发用的技术wordpress页面居中
  • 内部网站建设的步骤过程上海做推
  • 怎么选择镇江网站建设wordpress解压
  • 哪家小吃培训网站做的最好网站建设数据安全的意义
  • 企业网站建设 新天地网络wordpress做多重筛选