指向字符串的指针和二级指针.ppt_第1页
指向字符串的指针和二级指针.ppt_第2页
指向字符串的指针和二级指针.ppt_第3页
指向字符串的指针和二级指针.ppt_第4页
指向字符串的指针和二级指针.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第8章指针,C语言程序设计,1)在指针变量初始化时。格式是:char*=例如:char*ptr=“beijingisabeautifulcity”2)在程序中直接将字符串常量赋给一个字符型指针变量.格式是:char*=例如:char*p;p=“itisaverygood”;,8.2指向字符串的指针变量,1.让一个字符指针变量指向字符串的方法,【例8.1】分析下列程序的两条puts()语句,分别输出什么?#include“stdio.h”main()char*ptr=“beijingisabeautifulcity”;puts(ptr);ptr=“itisverygood”;puts(ptr);,8.2指针与数组,8.2.2指向字符串的指针变量,BeijingisabeautifulcityItisaverygood,【例】通过初始化使指针指向一个字符串。main()charstr1=Goodmorning!;char*str2=Goodnight!;printf(%sn,str1);printf(%sn,str2);,8.2指针与数组,8.2.2指向字符串的指针变量,2.指向字符串的指针变量的定义及初始化,字符串的两种表示方式:字符数组表示方式,字符串存放在一维数组中,引用时用数组名。字符指针变量表示方式,字符指针变量存放字符串的首地址,引用时用指针变量名。,Goodmorning!,Goodnight!,【例】利用指针变量输入输出字符串。#includemain()charc80,*str;str=c;gets(str);puts(str);,8.2指针与数组,8.2.2指向字符串的指针变量,3.字符串的输入输出,使用字符串输入输出函数gets和puts;在scanf和printf函数中使用%s格式实现。输入字符串时,函数参数:数组名、存有数组名的指针变量;输出字符串时,函数参数:数组名、存有字符串首地址的指针变量。,IloveChina!,IloveChina!,【例】编写一个程序,从键盘接收一个字符串.利用指针扫视,统计出字符串的长度,并打印输出思路:1、为了允许字符串中出现空格,使用函数gets()来接收输入信息,并用指针变量来指向该字符串.、不断的对指针做运算,使其沿着字符串“走”下去。只要该指针所指元素不等于字符串结束符“0”,计数工作就一直进行。,8.2指针与数组,8.2.2指向字符串的指针变量,#includestdio.hmain()char*s;intk=0;printf(pleaseenterastring:);gets(s);输入字符串,并由s指向它while(*s!=0)k+;进行计数s+;使指针指向下一个元素printf(thelengthofsis%dn,k);,8.2指针与数组,从m位置读取n个字符送到c数组,要求位置m和长度n大于0,指针数组定义的一般形式:数据类型标识符*数组名元素个数;在这个定义中由于“”比“*”的优先级高,所以数组名先与“元素个数”结合,形成数组的定义形式,“*”表示数组中每个元素是指针类型,“数据类型标识符”说明指针的目标变量的数据类型。例如:int*ip10;char*cp5;,8.2指针与数组,8.2.3指针数组,1.指针数组的定义,指针数组就是数组中的每个元素均为指针类型,例如:charc48=Fortran,COBOL,BASIC,Pascal;char*cp4=c0,c1,c2,c3;char*str5=int,long,char,float,double;inta23;int*p2=a0,a1;,8.2指针与数组,8.2.3指针数组,2.指针数组初始化,例如:charc48=Fortran,COBOL,BASIC,Pascal;char*cp4=c0,c1,c2,c3;char*str5=int,long,char,float,double;inta23;int*p2=a0,a1;,【例8.13】用06分别代表星期日至星期六,当输入其中任意一个数字时,输出相应英文单词。main()char*weekname7=Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday;intweek;printf(EnterweekNo.:);scanf(%d,8.2指针与数组,8.2.3指针数组,3.利用字符指针数组处理多个字符串,利用字符指针数组处理长度不等的字符串,可节省存储空间。,8.2指针与数组,8.2.4多级指针,1.二级指针变量的定义,如果一个指针的目标变量是一个指针类型变量,则此指针为指向指针的指针变量,也称为多级指针变量。,二级指针变量定义的一般形式:数据类型标识符*指针变量名;其中“*指针变量名”相当于*(*指针变量名),在括号中定义了一个指针变量,括号外的“*”,说明指针变量(即二级指针)的目标变量是一个指针类型数据,“数据类型标识符”是目标变量(即一级指针)所指向的数据的类型,也就是最终目标变量的类型。例如:inta,*p,*pp;,8.2指针与数组,8.2.4多级指针,2.二级指针变量初始化,例如:inta,*p=,、*p,、*pp,、*pp,8.2指针与数组,8.2.4多级指针,【例8.16】利用二级指针输出字符串。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论