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

医院网站源码aspgoogle play三件套

医院网站源码asp,google play三件套,flash网站源码模板,导入 wordpress字符串实现 在C语言中&#xff0c;表示一个字符串有以下两种形式&#xff1a; 用字符数组存放一个字符串。用字符指针指向一个字符串。 案例 #include <stdio.h>/*** 方式1&#xff1a;使用字符数组实现字符串*/ void str_test1(){// 定义一个伪字符串char str[] &q…

字符串实现

在C语言中,表示一个字符串有以下两种形式:

  1. 用字符数组存放一个字符串。
  2. 用字符指针指向一个字符串。

案例

 #include <stdio.h>/*** 方式1:使用字符数组实现字符串*/ 
void str_test1(){// 定义一个伪字符串char str[] = "I Love You";printf("%s\n",str);}/*** 方式2:使用字符指针实现字符串*/ 
void str_test2(){// 定义一个伪字符串char *str = "I Love You";printf("%s\n",str);}int main(int argc,char *argv[]){str_test1();str_test2();return 0;}

注意:字符数组和字符指针变量都能实现字符串的存储与运算。(字符指针—> 字符类型的指针变量)

字符数组和字符指针的联系

字符数组由元素组成,每个元素中存放一个字符,而字符指针变量中存放的是地址,也能作为函数参数。
只能对字符数组中的各个元素赋值,而不能用赋值语句对整个字符数组赋值。

char arr[3];arr[2] = 'A'; // 正确,对字符数组中的元素赋值
arr = {'A','B','C'}; // 错误,(可以理解为数组名就是一个常量,也就是一旦创建,就不能再改变)

字符数组名虽然代表地址,但数组名的值不能改变,因为数组名是常量。
对于字符串中字符的存取,可以用下标法,也可以用指针。

 #include <stdio.h>int main(int argc,char *argv[]){// 使用两种方式定义字符串char str1[] = "你好,张欣!";char *str2  = "你好,张欣!";// 我们将数据类型为char的指针变量称之为字符指针// 测试赋值// str1 = "你好,张鹏!"; // 不能对字符数组整体赋值,如果要赋值,请使用string库下strcpy();str2 = "你好,张鹏!";// 打印输出printf("%s,%s\n",str1,str2);char a[] = "I Love You!";char *b  = "I Love You!";// 使用下标法和指针法来访问字符串printf("%c,%c,%c,%c\n",a[2],*(a+2),b[2],*(b+2));return 0;}

字符串作为形式参数

实参与形参都可以是字符数组

 void fun(char str[],int len){..}void main(){char str[] = "hello";fun(str,sizeof(str) / sizeof(str[0]));};

实参用字符数组,形参用字符指针

 void fun(char *str,int len){str[2] = 'A'; // GCC编译环境可通过
}void main(){char str[] = "hello";// 常量池,此时的赋值,将常量池中的数据读取出来,存入到栈中数组对应的位fun(str,sizeof(str) / sizeof(str[0]);}

实参和形参都是指针变量(在函数内部不能对字符串中的字符做修改)

void fun(char *str,int len){str[2] = 'A'; // 错误,字符串常量一旦创建,就不能被改变
}void main(){char *str = "hello";fun(str,sizeof(str) / sizeof(str[0]);}

实参是指针类型,形参是字符数组(在函数内部不能对字符串中的字符做修改)

void fun(char str[],int len){str[2] = 'A'; // 错误,字符串常量一旦创建,就不能被改变
}void main(){char *str = "hello";fun(str,sizeof(str) / sizeof(str[0]);}

注意:

  1. 字符数组在创建的时候,会在内存中开辟内存空间,内存空间可以存放字符数据;字符指针在
    创建的时候,需要依赖于字符数组,字符指针在内存开辟的内存空间中,存放的是数组元素的
    地址。字符指针的创建依赖于字符数组,字符数组可以独立存在,而字符指针不能独立存在。
  2. 字符数组可以初始化,但是不能赋值;字符指针可以初始化,也可以赋值。

案例

 #include <stdio.h>/*** 定义一个函数,实现字符串的拷贝,返回字符串长度* @param source 拷贝的源字符串* @param target 需要保存拷贝数据的目标字符串* @return 字符串的大小*/ 
int str_copy(char *source,char *target){// 定义一个循环变量int i = 0;while(source[i]!='\0'){// 实现拷贝*(target+i) = *(source+i);// 指针法// target[i] = source[i];// 下标法i++;}// 拷贝结束后,一定要给target末尾加上\0target[i] = '\0';return i;}int main(int argc,char *argv[]){// 定义两个数组,从键盘录入字符串char source[20],target[20];printf("请输入一个字符串:\n");scanf("%s",source);int len = str_copy(source,target);printf("%s,%s,%d\n",source,target,len);return 0;}

案例

#include <stdio.h>/*** 定义一个函数,实现字符串的截取* @param source 源字符串* @param start 开始截取的位置* @param end   截取结束的位置* @param target 截取后的字符串* @return 新字符串长度*/ 
int str_split(char *source,int start,int end,char *target){// 定义循环变量int i = 0, k = 0;// 遍历源字符串(数组)while(source[i] != '\0'){// 根据位置截取if(i >= start && i < end){// 将截取的字符串存入target  "helloworld"target[k] = source[i];k++;}i++;}// 新字符串需要末尾添加\0target[k] = '\0';return k;}int main(int argc,char *argv[]){char *str = "abcdefg";char target[100];int len = str_split(str,2,5,target);printf("%s,%s,%d\n",str,target,len);return 0;}
http://www.qdjiajiao.com/news/10203.html

相关文章:

  • 毕业设计做网站题目收录是什么意思
  • 龙岩做网站百度权重高的发帖网站
  • 有哪些好的做问卷调查的网站网站收录工具
  • 青海网站建设哪家强深圳百度seo代理
  • 怎样做网站二级页面新开传奇网站
  • 南宁哪个公司做网站建设百度搜索热词查询
  • 二次开发需要什么北京网站建设优化
  • 做网站需要费用多少代推广app下载
  • 百度手机模板网站seo标题优化是什么意思
  • 整站下载器 安卓版黄冈网站推广厂家
  • 做后台财务系统网站2023年九月份新闻
  • 深圳住房建设厅网站首页青岛网络优化哪家专业
  • 网站建设网络公b2b电子商务平台排名
  • 网站建设方案范文8篇百度推广账号登陆入口
  • 在哪里可以自己建网站搜索引擎营销流程是什么?
  • 山东建设网站首页哈尔滨seo网络推广
  • 营销网站建设培训学校自己做网站如何赚钱
  • 文成做网站如何制作视频网站
  • 网站开发执行文档手机百度快照
  • 外国人的做视频网站吗百度网址安全中心
  • 网站改版是什么意思外包平台
  • 网站换模板有影响吗兰州网络推广关键词优化
  • 什么购物平台质量最好seo优化报价
  • wordpress 站群模板数据营销
  • 什么网站做外贸最多的it菜鸡网seo
  • 网站手机微信三合一怎么做网站百度不收录的原因
  • python网站开发实例教程电商平台运营方案思路
  • 有没有专门做蛋糕的网站推广关键词排名
  • 做网站开发用哪门语言合肥全网推广
  • 宜州做网站需要多少钱2023年8月新冠