c语言比较xy大小指针,C语言教案8

您所在的位置:网站首页 inta8=256849106 c语言比较xy大小指针,C语言教案8

c语言比较xy大小指针,C语言教案8

2024-07-04 16:29| 来源: 网络整理| 查看: 265

《C语言教案8-指针》由会员分享,可在线阅读,更多相关《C语言教案8-指针(23页珍藏版)》请在人人文库网上搜索。

1、,C语言程序设计,第8章指针,.,地址和指针,在计算机中,内存是用来存储程序和数据的部件。为了便于存储,通常把内存划分成许多个存储单元,并且对存储单元进行编号,存储单元的编号称为地址。地址通常以字节为单位进行编址。在C语言中地址是指数据在内存中存放的起始位置,如:变量(整型、浮点型、字符型、数组元素)的地址用i是一个整型变量,ptr是一个指向整型变量的指针ptr=int*pa,*pb,*pc;pa=,.,指针作为函数参数比较下面的例子,#includevoidexchange(intx,inty)inttemp;temp=x;x=y;y=temp;voidmain()inta=5,b=8;ex。

2、change(a,b);printf(a=%dtb=%d,a,b);运行结果:a=5b=8,#includevoidexchange(int*x,int*y)inttemp;temp=*x;*x=*y;*y=temp;voidmain()inta=5,b=8;exchange(运行结果:a=8b=5,.,指针与数组,在C语言中,数组名是指针常量,它代表的是数组的首地址,也是数组第一个元素的地址。设有:intdata10;则:data=main()staticinta7=-1,9,7,3,-100,0,8;clrscr();printf(minvalue=%d,min(a,7);intmin(i。

3、nt*p,intn)inti,minv;minv=*p;for(i=1;i*(p+i)minv=*(p+i);returnminv;,数组名做为实参,传递数组的首地址(地址常量),指针变量做为形参,接收数组的首地址,.,例:以数组和数组元素形式处理指针,#include#includeintmin(int*p,intn);main()staticinta7=-1,9,7,3,-100,0,8;clrscr();printf(minvalue=%d,min(a,7);intmin(intp,intn)*p改为p,用下标法表示指针对象inti,minv;minv=p0;*p改为p0for(i=1;。

4、ipi)minv=pi;*(p+i)改为pireturnminv;pi表示当前指针后第i个对象,P形式上像数组,实际上按指针方式处理,.,例:再探数组和指针,#include#includevoidmain()inta7=-1,9,7,3,-100,0,8;inti,*p;clrscr();p=a;for(i=0;i7;i+)printf(%dt,ai);printf(n);for(i=0;i7;i+)printf(%dt,pi);,两次运行结果相同,.,指针的运算,.,指针运算例:,#includevoidmain()inta8=-1,9,7,3,-100,0,8,5;floatb8=0.1。

5、,0.2,0.3,0.4,0.5,0.6,0.7,0.8;int*pa,*pa1;float*pb;pa=a;pb=b;printf(%u:%dtt%u:%3.1fn,pa,*pa,pb,*pb);pa+;pb+;printf(%u:%dtt%u:%3.1fn,pa,*pa,pb,*pb);pa+=3;pb+=3;printf(%u:%dtt%u:%3.1fn,pa,*pa,pb,*pb);pa+2;pb+2;printf(%u:%dtt%u:%3.1fn,pa,*pa,pb,*pb);printf(%u:%dtt%u:%3.1fn,pa+2,*pa+2,pb+2,*pb+2);printf(。

6、%u:%dtt%u:%3.1fn,pa,*(pa+2),pb,*(pb+2);pa=,.,.,字符指针,字符指针指向字符串或字符型数组。例:#includevoidmain()chara=IamaTeacher.;char*ptr1=a,*ptr2=“YouareStudents.”;ptr1指向字符型数组a,ptr2指向字符串printf(“%c%c%c%cn”,*ptr1,*(ptr1+2),*(ptr1+5),*(ptr1+7);显示:IaaTprintf(“%c%c%cn”,*ptr2,*(ptr2+4),*(ptr2+8);显示:YaSprintf(“%sn”,“SheisaStud。

7、ent.”);对应%s的是字符串常量printf(“%sn”,a);对应%s的是字符型数组首地址printf(“%sn”,ptr2);对应%s的是字符指针变量,.,字符数组和字符指针处理字符串的区别,字符数组由若干个元素组成,每个元素存放一个字符,若用来处理字符串,必须保证有串结束符0。而字符指针变量用来存放字符串的首地址,不是用来存放整个字符串内容的。赋值或初始化方式不完全相同chardata20=“Thisisastring”;chardata20;data=“Thisisastring”;没有意义char*ptr=“Thisisastring”;char*ptr;ptr=“Thisisa。

8、string”;等效,.,字符数组和字符指针处理字符串的区别,在说明一个字符数组后,其地址是确定的,有一个连续的区域用来存储数组的内容;而说明一个字符指针变量时,仅仅分配一个存储单元存放地址值,如果未赋值,它指向的对象是不确定的。chardata20;scanf(“%s”,data);char*ptr;scanf(“%s”,ptr);错误,ptr未初始化,不知道往那存,.,字符数组和字符指针处理字符串的区别,字符指针变量的值可以改变,数组的首地址却不能改变。main()char*ptr=“CLanguage”;ptr+=2;printf(“%s”,ptr);main()charstr=“CLa。

9、nguage”;str+=2;printf(“%s”,str);错误,数组地址不能改变应改成printf(“%s”,str2);,.,指针数组,由指针变量组成的数组,其说明格式为:*;例:int*p3;分别说明了3个指针*p0、*p1、*p2,指向3个整型变量或整型数组。例:int(*p)3;说明了1个指针*p,指向有3个元素的一维整型数组。,.,指向指针的指针,inti,*p,*t;p=i是整型变量;p是指向整型变量i的指针;t是指向指针p的指针。,.,指向函数的指针,指向函数的指针就是指向函数的首地址,又称函数的入口地址。对于指向函数的指针而言,取内容表示执行由函数指针变量所指的函数。用户。

10、定义函数的函数名即是函数的首地址。指向函数的指针说明如下:(*)();(*)(参数列表);,.,例:8-14,#includeintmin(intm,intn)if(mn)returnm;elsereturnn;voidmain()inta,b,c,(*p)(int,int);定义函数指针变量p=min;函数名赋值给函数指针scanf(%d%d,.,例:8-15,#includeintmax(intx,inty)return(xy)?x:y;intmin(intx,inty)return(xy)?x:y;intadd(intx,inty)return(x+y);voidgeneral(intx。

11、,inty,int(*fun)(int,int)intresult;result=(*fun)(x,y);printf(%dn,result);,voidmain()inta,b;printf(Enteraandb:);scanf(%d%d,.,字符串的输入输出方法,字符串的输出方法:使用printf(“%s”,string)使用printf(“%c”,stringI)使用puts(string)字符串的输入方法:使用charstring=“Iamsorry”使用scanf(“%s”,string)以空格键、Tab键、和回车键作为结束使用gets(string)仅以回车键作为结束,.,字符串处理函数,字符串库函数,函数原型在string.h中。1读取字符串函数gets(字符数组)2输出字符串函数puts(字符数组)3字符串拷贝函数strcpy(目的字符数组,源字符数组)4部分字符串拷贝函数strncpy(目的字符数组,源字符数组,拷贝字符数)5字符串比较函数strcmp(字符数组1,字符数组2)6字符串连接函数strcat(目的字符数组,源字符数组)7字符串长度函数strlen(字符数组)8大小写字母转换函数strupr(字符数组)strlwr(字符数组。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3