游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

C语言中字符串与指针的详细使用

  指针变量与其指向内存的关系
  指针变量也是一种变量,占有内存空间,用来保存内存地址测试指针变量占有内存空间大小。defineCRTSECURENOWARNINGSincludestdio。hincludestdlib。hincludestring。hincludetime。hintmain0101(){charpNULL;charbuf〔〕abcde;printf(p1d,p);改变指针变量的值pbuf;printf(p2d,p);指针变量和它指向的内存块是两个不同的概念pp1;改变指针变量的值,即改变了指针的指向printf(p3d,p);printf(bufs,buf);printf(pc,p);bprintf(改变指针指向的内存,并不会改变指针的值);buf〔1〕1;printf(p4d,p);printf(buf2s,buf);pm;printf(p5d,p);printf(buf3s,buf);写内存时,一定要确保内存可写charbuf2aaawwweee;该字符串在文字常量区不可修改buf2〔2〕1;errcharbuf3〔〕wwweerrr;buf3〔1〕s;ok不允许向NULL和未知非法地址拷贝内存。charp3NULL;errcharp30x1111;err给p3指向的内存中拷贝字符串p3buf3;okstrcpy(p3,123);return0;}修改指针变量的结果defineCRTSECURENOWARNINGSincludestdio。hincludestdlib。hincludestring。hincludetime。hintmain0201(){charpNULL;charqNULL;charbuf〔100〕asdzcx;pbuf〔0〕;printf(pd,c,p,p);pbuf〔1〕;printf(p2d,c,p,p);printf();for(inti0;istrlen(buf);i){pbuf〔i〕;printf(p3d,c,p,p);}q(char)malloc(100);if(qNULL){return1;}strcpy(q,qqqwww);for(inti0;istrlen(q);i){pqi;printf(c,p);}return0;}3。通过指针间接复赋值defineCRTSECURENOWARNINGSincludestdio。hincludestdlib。hincludestring。hincludetime。hintgeta(){inta10;returna;}voidgeta2(intb){b20;}voidgeta3(intp){p20;通过操作内存}voidgeta4(inta1,inta2,inta3,inta4){a11;a22;a33;a44;}intmain0301(){inta100;intpNULL;建立关系指针指向谁,就将谁的地址赋值给指针pa;通过操作内存p22;通过指针间接赋值1。两个变量2。建立关系3。通过操作内存intbgeta();printf(bd,b);geta2(b);printf(b2d,b);如果想通过形参改变实参的值,必须地址传递geta3(b);函数调用时建立关系printf(b3d,b);inta1,a2,a3,a4;geta4(a1,a2,a3,a4);printf(a1d,a2d,a3d,a4d,a1,a2,a3,a4);return0;}staticvoidfun2(intp){p0xaabb;printf(fun2:pp,p);}staticvoidfun3(intp){p0xaabb;printf(fun3:pp,p);}intmain0302(){一个变量,应该定义一个怎样类型的指针来保存它的地址在原来的基础上加一个inta10;intpa;intqp;inttNULL;intt2t;intp0x1122;printf(p1p,p);fun2(p);值传递printf(p2p,p);fun3(p);值传递printf(p3p,p);return0;}4。指针作为函数参数的输入输出特性defineCRTSECURENOWARNINGSincludestdio。hincludestdlib。hincludestring。hincludetime。hintgeta(){inta10;returna;}voidgeta2(intb){b20;}voidgeta3(intp){p20;通过操作内存}voidgeta4(inta1,inta2,inta3,inta4){a11;a22;a33;a44;}intmain0301(){inta100;intpNULL;建立关系指针指向谁,就将谁的地址赋值给指针pa;通过操作内存p22;通过指针间接赋值1。两个变量2。建立关系3。通过操作内存intbgeta();printf(bd,b);geta2(b);printf(b2d,b);如果想通过形参改变实参的值,必须地址传递geta3(b);函数调用时建立关系printf(b3d,b);inta1,a2,a3,a4;geta4(a1,a2,a3,a4);printf(a1d,a2d,a3d,a4d,a1,a2,a3,a4);return0;}staticvoidfun2(intp){p0xaabb;printf(fun2:pp,p);}staticvoidfun3(intp){p0xaabb;printf(fun3:pp,p);}intmain0302(){一个变量,应该定义一个怎样类型的指针来保存它的地址在原来的基础上加一个inta10;intpa;intqp;inttNULL;intt2t;intp0x1122;printf(p1p,p);fun2(p);值传递printf(p2p,p);fun3(p);值传递printf(p3p,p);return0;}5。字符串初始化defineCRTSECURENOWARNINGSincludestdio。hincludestdlib。hincludestring。hincludetime。hC语言没有字符串类型,而是通过字符数组模拟C语言字符串以字符即数字0结尾intmain0501(){不指定长度,没有结束符0,有多少个元素就有多长charbuf〔〕{a,b,c};3个元素printf(bufs,buf);不加的话末尾乱码指定长度,后面没有赋值的元素位置,自动补0charbuf1〔100〕{a,b,c};printf(buf2s,buf1);所谓元素都赋值为0charbuf3〔100〕{0};charbuf4〔2〕{1,2,3};err数组越界charbuf5〔50〕{1,a,b,0,7};printf(buf5s,buf5);charbuf6〔50〕{1,a,b,0,7};printf(buf6s,buf6);1abcharbuf7〔50〕{1,a,b,,7};printf(buf7s,buf7);1ab使用字符串初始化,常用此类方式charbuf8〔〕qaaasss;strlen:测字符串长度,但不包含数字0与字符sizeof:测数组长度,包含数字0和字符printf(strlend,sizeofd,strlen(buf8),sizeof(buf8));78charbuf9〔100〕qaaasss;printf(strlend,sizeofd,strlen(buf9),sizeof(buf9));7100printf(test);12相当于charstr〔〕129;printf(s,str);return0;}intmain0502(){charbuf〔〕aaazzzzssssdddd;charpNULL;〔〕方式for(inti0;istrlen(buf);i){printf(c,buf〔i〕);}printf();指针法数组名字,是数组首元素地址pbuf;for(inti0;istrlen(buf);i){printf(c,p〔i〕);}printf();for(inti0;istrlen(buf);i){printf(c,(pi));编译器方式}printf();for(inti0;istrlen(buf);i){printf(c,(bufi));}printf();buf和p完全等价吗p;okbuf;errbuf只是一个常量,不可修改return0;}6。字符串拷贝defineCRTSECURENOWARNINGSincludestdio。hincludestdlib。hincludestring。hincludetime。hintmain0601(){charsrc〔〕qqqqqqqqqq;chardst〔100〕{0};inti0;for(;src〔i〕!0;i){dst〔i〕src〔i〕;}补齐结束符dst〔i〕0;printf(s,dst);return0;}voidmystrcpy(chardst,charsrc){inti0;for(;(srci)!0;i){(dsti)(srci);dst〔i〕src〔i〕}dst〔i〕0;(dsti)0;}voidmystrcpy2(chardst,charsrc){while(src!0){dstsrc;src;dst;}dst0;}voidmystrcpy3(chardst,charsrc){dstsrcdst,src判断dst是否为0,为0跳出循环while(dstsrc){NULL;先执行,再自加;先dstsrc,dst,src}}成功返回0,失败返回非零1。判断形参指针是否为NULL2。不要直接使用形参以防止将形参的指针指向末尾intmystrcpy4(chardst,charsrc){if(dstNULLsrcNULL){return1;}使用辅助变量将形参的值接来chartodst;charfromsrc;dstsrcdst,src判断dst是否为0,为0跳出循环while(fromto){NULL;先执行,再自加;先dstsrc,dst,src}printf(mystrcpy4:dsts,dst);return0;}intmai0602n(){charsrc〔〕qqqqqqqqqq;chardst〔100〕{0};intret0;retmystrcpy4(dst,src);if(ret!0){printf(mystrcpy4err:d,ret);returnret;}printf(s,dst);inti0;intni;printf(nd,id,n,i);return0;}7。strstr中的while与dowhile的模型defineCRTSECURENOWARNINGSincludestdio。hincludestdlib。hincludestring。hincludetime。hintmain01(){charpsadzxaaadaszxaaaasszxaa231312zxaa4;zxaaintn0;do{pstrstr(p,zxaa);if(p!NULL){n;累计个数重新设置查找起点ppstrlen(zxaa);}else若没有匹配的字符串跳出循环{break;}}while(p!0);如果没到结尾printf(nd,n);return0;}intmain02(){charpsadzxaaadaszxaaaasszxaa231312zxaa4;zxaaintn0;while((pstrstr(p,zxaa))!NULL){能进循环一定有匹配到子串重新设置起点位置ppstrlen(zxaa);n;if(p0)如果到结束符{break;}}printf(nd,n);return0;}intmystrstr(charp,intn){两个辅助变量inti0;chartempp;while((tempstrstr(temp,zxaa))!NULL){能进循环一定有匹配到子串重新设置起点位置temptempstrlen(zxaa);i;if(temp0)如果到结束符{break;}}ni;return0;}intmain07(){charpsadzxaaadaszxaaaasszxaa231312zxaa4;zxaaintn0;intret0;retmystrstr(p,n);if(ret!0){returnret;}printf(nd,n);return0;}

深度分析!上海户籍新政预示着什么?大家好,我是老李。今天我们来聊聊上海户籍新政。上海终于坐不住了,就在前天夜里,上海市发布了抢人新政策。说起这个户口问题,想必国内唯二金贵的也就北京和上海了,但……终于不用抢购了!华为P30系列备货千万台!3月末,有关华为的消息不断,26号在巴黎发布华为P30系列,29号华为发布2018年年度报告:全球销售收入7212亿元,今天华为消费者业务CEO余承东在微博发声:华为单品牌未来……开箱即用!一款面向无线电开发者的利刃ANTSDRB220大家好,我是芯板坊小月月,今天给大家介绍一款一款面向无线电开发者的开发利刃ANTSDRB220。当你在准备使用ADIPluto或者ZEDFMCOMMS234做研究或者开发……硬核K世代OPPOK5凭这几方面领衔双十一千元机市场随着智能手机的发展,千元机的性能已经有了显著的提升,而各大手机厂商也是为了赢得更多消费者的关注推出了不少性能强大的千元机。说到千元机,OPPO在10月分发布的OPPOK5就在刚……人口都在向富的地方积聚从十年大数据上,我们能看到的是,中国人口萎缩的省份从上一个十年的4个扩大到了6个东三省加上甘肃、内蒙古和山西。但这个数据有欺骗性。当我们仅仅比较2019、2020l这两年……3699元起拯救者电竞手机2Pro正式发布冷静则赢唯快不破4月8日,联想召开了以冷快为主题的新品发布会,拯救者电竞手机2Pro正式亮相。拯救者作为专属于热血玩家的电竞品牌,致力于为玩家带来极致游戏体验。联想中国区手机业务部总经理陈劲表……写在生日这一天二字头的最后一个生日了,马上要奔三了,很感慨,时间过的真的太快了,快到我们好像什么都抓不住,又确实是自己真真切切的过了29年。每次,我都说自己还十八,可十八岁已经过去了十……数位观察全新版本上线,更多维,更方便查城市数据,就上数位观察在现实生活中,如何快速查询到一个城市的人口、土地、教育、环境、交通等数据?你一定不会想到,只需要通过一款线下大数据服务产品就能在几秒内得到结果这就……木兰编程语言重现优先级,一个过不去的坎注:项目目标见码云代码库上周就复现了一个语法,支持了这样的乘法62(12),结果为1。实现中,用到了针对语法规则的优先级设置。虽然rply有文档说明,但死磕过后仍然……个人所得税,免征!总局再次明确这6项所得不征个税自财政部税务总局出台2019年第74号文件,废止了六项原按其他所得征税的政策后,很多用户还有疑惑:那如果以后取得该六项所得,还需要缴纳个人所得税吗?前不久,税务总局针对这……青年马云失意之时得贵人相助,而今功成身退分道扬镳月满则亏,水满则溢,天下没有不散的筵席,三春去后诸芳尽,各自须寻各自门。马云与孙正义的故事家喻户晓。孙正义正如同马云成功之路上的影子一般,究竟是孙正义造就了马云,还是马云……探索AI赋能视频分析,智能监控如何保障城市安全?视频监控在全球广泛使用,在现代社会中发挥着重要作用,监控系统确保了安全系统日常运作顺畅,同时,与AI结合的视频分析也将为视频监控提供有力的辅助功能。当AI集成在视频监控后……
赵本山是黑社会吗黑社会都不敢动他,可见其实力赵本上可谓是小品界的ldquo;奇葩rdquo;。不仅能够在春晚上一呆那么些年,更是自成一派收了很多徒弟。也有一大部分成为了戏剧界的明星。赵本山的影响力还是非常大的。如果是在东……李丽莎顾欣怡世界杯破解版世界杯中的真人足球宝贝李丽莎顾欣怡世界杯破解版,这个可以在网上,有这样的足球宝贝助阵世界杯,观众们都是有口福了,世界杯中的真人足球宝贝。李丽莎、顾欣怡身穿性感的运动衣,这种运动衣比以往的运动衣更加的……石头街舞个人资料第二季中不是冠军实力不输任何人石头在《这就是街舞》中的第二季中非常好,也是看到了不一样的石头,不过网友想要知道的是传说中的石头究竟是做了什么为什么会被说的如此厉害,好像是在这个领域中,石头就是冠军,在国内几……中年人的困惑,以及对HIFI的理解!阜新声艺视听人到中年,总有一些对未知东西的困惑,对生活有了重新的认识,审视自己过往的经历,又对未来生活重新的规划!当有一定积蓄的同时,精神要求也不一样了,在听音乐上,对音质,我也想办法提升……葡萄胎是什么引起的能不能提前避免出现这种情况很多怀孕的妈妈为了宝宝的健康时常去医院产检,但有些病并不是频繁的产检就能够避免的,像葡萄胎这种病被很多人看作是癌症,那是因为大家并不了解葡萄胎是什么引起的,不知道这种病到底能不……三伏天还能种菜?我们都知道,农作物的播种都有自身所对应的最佳时间段,一般都是按照春天播种,秋天收获的规律进行的,就是所谓的春耕,夏耘,秋收,冬藏,但是也有一些农作物,偏偏不按套路出牌,就是适合……头条极速版的答题真的是超级有良心,还能让人学到知识最近金币真的是太难刷了,每天耗费很长的时间才给3万多金币,看到好多条友都在答题专金币,就抱着试一试的态度去了,没想到收益真的很乐观,让我彻底的爱上了答题,总共只答了两天的题,光……300元就能买到的真香平板?康佳A20Plus上手体验转自酷安七色猪大王前一段时间发布的华为matepad11,把并不热闹的安卓平板又拉回了大众的视线。对于财力雄厚的消费者来说,‘‘买一台全新机’‘似乎理所应当,但对于不少资……最遥远的距离开机钟楚曦张云龙首搭开启治愈系追爱之旅由企鹅影视出品,金禾影视承制,于中中执导,南镇编剧,钟楚曦、张云龙领衔主演、李溪芮、章涛、刘宇航、田依桐、管梓净、蔡尧、曹艺心主演的都市情感剧《最遥远的距离》于近日正式开机。该……小敏家相逢时节心居能量连击,良品铺子温暖陪伴都市她力量4月4日,由鲁迅文学奖得主滕肖澜同名小说改编,滕华涛执导,海清、童瑶、张颂文、冯绍峰领衔主演的家庭情感大剧《心居》迎来大结局。作为腾讯影业和阅文影视时代旋律三部曲的收官之作,《……官宣,这次稳了好事将近,Apple将要发布这几件产品苹果官方发出的邀请函国内用户可以在微信上订阅Apple,这是通过微信收到的邀请函这次Apple的新品发布会有好多款AppleLOGO创意对了,今天刚好是iPh……媒体大脑助力媒体转型和发展媒体大脑MAGIC短视频智能生产平台正式发布。(右:新华社副社长、党组成员刘思扬,左:阿里巴巴集团党委书记、秘书长邵晓锋)传媒业毫无疑问当前正在经历着伟大的变革,短视频迎……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网