欢迎来到天天文库
浏览记录
ID:40840889
大小:1.71 MB
页数:130页
时间:2019-08-08
《C第七章指针讲义》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章指针1指针的概念数据在内存中是如何存取的?系统根据程序中定义变量的类型,给变量分配一定的长度空间。字符型占1个字节,整型数占4个字节.....。内存区的每个字节都有编号,称之为地址。2000H2001H2002H2003H2004H35内存内存单元的地址内存单元的内容21、直接访问按变量地址存取变量的值。cin>>i;实际上放到定义i单元的地址中。2、间接访问将变量的地址存放在另一个单元p中,通过p取出变量的地址,再针对变量操作。一个变量的地址称为该变量的指针。如果在程序中定义了一个变量或数组,那么,这个变量或数组的地址(指针)也就确定为一个常量。i
2、i2000H2000H3000Hp3变量的指针和指向变量的指针变量变量的指针就是变量的地址,当变量定义后,其指针(地址)是一常量。可以定义一个变量专门用来存放另一变量的地址,这种变量我们称之为指针变量。在编译时同样分配一定字节的存储单元,未赋初值时,该存储单元内的值是随机的。指针变量定义的一般形式为:类型标识符*变量名int*i_point;i2000Hinti;&i:2000H指针类型变量名4指针变量同样也可以赋值:inti,*i_point;i_point=&i;也可以在定义指针变量时赋初值:inti;int*i_point=&i;*在定义语句中只表示
3、变量的类型是指针,没有任何计算意义。*在语句中表示“指向”。&表示“地址”。一个指针变量只能指向同一类型的变量。即整型指针变量只能放整型数据的地址,而不能放其它类型数据的地址。3000Hi_point2000Hi2000H52000H2000H3000Hi_pointinti;int*i_point=&i;*i_point=3;表示指向表示类型i36指针变量的引用指针变量只能存放地址,不要将非地址数据赋给指针变量。int*p,i;p=100;p=&i;voidmain(void){inta=10,b=100;int*p1,*p2;p1=&a;p2=&b;c
4、out<5、;*p2=100;cout<>a>>b;p1=&a;p2=&b;if(a6、1<<‘t’<<*p2<7、*p;p=&a;++,--,*优先级相同,都是右结合性。7532008H2004H2000Ha&ap4++(*p)*p=*p+1a=4++*p13inta=3,*p;p=&a;++,--,*优先级相同,都是右结合性。7532008H2004H2000Ha&ap2004H*(++p),首先:p=p+1,然后取*p。即取p所指的下一个int单元的内容。表达式为5p=2004H*++p14指针变量作为函数参数:函数的参数可以是指针类型,它的作用是将一个变量的地址传送到另一个函数中。指针变量作为函数参数与变量本身作函数参数不同,变量作函数参数传递的是具体值,而指针8、作函数参数传递的是内存的地址。15输入a,b两个整数,按大小输出这
5、;*p2=100;cout<>a>>b;p1=&a;p2=&b;if(a6、1<<‘t’<<*p2<7、*p;p=&a;++,--,*优先级相同,都是右结合性。7532008H2004H2000Ha&ap4++(*p)*p=*p+1a=4++*p13inta=3,*p;p=&a;++,--,*优先级相同,都是右结合性。7532008H2004H2000Ha&ap2004H*(++p),首先:p=p+1,然后取*p。即取p所指的下一个int单元的内容。表达式为5p=2004H*++p14指针变量作为函数参数:函数的参数可以是指针类型,它的作用是将一个变量的地址传送到另一个函数中。指针变量作为函数参数与变量本身作函数参数不同,变量作函数参数传递的是具体值,而指针8、作函数参数传递的是内存的地址。15输入a,b两个整数,按大小输出这
6、1<<‘t’<<*p2<7、*p;p=&a;++,--,*优先级相同,都是右结合性。7532008H2004H2000Ha&ap4++(*p)*p=*p+1a=4++*p13inta=3,*p;p=&a;++,--,*优先级相同,都是右结合性。7532008H2004H2000Ha&ap2004H*(++p),首先:p=p+1,然后取*p。即取p所指的下一个int单元的内容。表达式为5p=2004H*++p14指针变量作为函数参数:函数的参数可以是指针类型,它的作用是将一个变量的地址传送到另一个函数中。指针变量作为函数参数与变量本身作函数参数不同,变量作函数参数传递的是具体值,而指针8、作函数参数传递的是内存的地址。15输入a,b两个整数,按大小输出这
7、*p;p=&a;++,--,*优先级相同,都是右结合性。7532008H2004H2000Ha&ap4++(*p)*p=*p+1a=4++*p13inta=3,*p;p=&a;++,--,*优先级相同,都是右结合性。7532008H2004H2000Ha&ap2004H*(++p),首先:p=p+1,然后取*p。即取p所指的下一个int单元的内容。表达式为5p=2004H*++p14指针变量作为函数参数:函数的参数可以是指针类型,它的作用是将一个变量的地址传送到另一个函数中。指针变量作为函数参数与变量本身作函数参数不同,变量作函数参数传递的是具体值,而指针
8、作函数参数传递的是内存的地址。15输入a,b两个整数,按大小输出这
此文档下载收益归作者所有