- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                蹄盎药飞咐窖枯哺敷木寸叼拳谗姆满蹲搞猛杰掘憾偿说仿擒莎消漂虽肮正《C/C  程序设计》第06章(复合数据类型)《C/C  程序设计》第06章(复合数据类型)
6.1 指针类型
概念:
       旅馆房间、房间编号、房间名称、派房牌(上写房间号)。
        1)地址
        给内存单元(一般是字节)的编号 。计算机根据它找到对应的字节进行访问(存取)。
        高级语言中定义一个变量,编译时根据其类型分配相应数目的字节(如int 型分2个字节,float 分4个字节),将变量名与对应内存字节映射。
              变量名             地址            内存单元
        2)指针
        给变量、数组、结构体、函数等分配的内存单元或块区的首地址。
        假如有:long  m=56000  则 : m 就是 m的指针或者说是 m所占内存单元的首地址。此例中,56000就放在从这个地址开始的连续四个字节中。
        3)指针变量
        定义一种特殊变量,这种变量专门存放指针,用它也可找到(指向)变量、数组、结构体、函数,这样的变量 称作指针变量。
        按变量是直接寻址;按指针变量是间接寻址。
        由于变量、数组、结构体、函数等所分配的内存单元或块区的大小及结构不同,指针变量因而也要定义成相应的类型,不能混用。
皆棠雏驾底寄届值褥稳征恢炯袖防酮焦斑祝痒肥农篱唱付仍蓄橙函办顿蚂《C/C  程序设计》第06章(复合数据类型)《C/C  程序设计》第06章(复合数据类型)
 
[例] 交换两数。
void  swap( );
main( )
{int a, b;
 scanf(%d%d”,a,b);
 swap(a, b);
printf(“%d,%d”,a,b);
}
void  swap( int  *p1, int *p2)
{int  t;
  t=*p1, *p1=*p2, *p2=t ;
}
  
  
2000H
2001H
2EA0H
2EA1H
a=10
 b=8
内存 
地址
变量
10
8
指针变量
p2=b=2EA0H
:
:
:
3100H
3101H
3802H
3803H
2000H
2EA0H
p1=a=2000H
训暴辖缸逐刮静蒂搞您统谎顿鲤哎巫昼撼威荐挨躯勤抱扒撬逞齿招猿幽契《C/C  程序设计》第06章(复合数据类型)《C/C  程序设计》第06章(复合数据类型)
变量的指针变量
    1) 指针变量的定义
         类型标示符   * 变量名 ;
[例]    int  *p1, *p2;
       
    2) 指针变量的赋值
            指针变量=变量
[例]     先定义后赋值:p1=a; p2=b; 
            定义时赋初值:   int  a, *prt=a;   
其中: 是取指针(地址)运算符。
        赋初值问题:一个指针变量被定义后,在赋予某一变量的指针以前,其值是随机的,这个随机数可能恰好是系统区的某单元的地址。在系统不知和不受系统管理的情形下改写其中内容是危险的。变量的地址是由系统分配和管理的,因而是安全的。
      3)指针变量的使用 
         p1=a; p2=b; scanf(“%d%d”, p1, p2);    
         t =*p1; *p1=*p2; *p2= t;      
          
尺能怔掖控这强照评掩戮锰授悍倡佰冕喻城单婆残颇辟泼芍砒麻伐掷粟祷《C/C  程序设计》第06章(复合数据类型)《C/C  程序设计》第06章(复合数据类型)
其中:* 号是取值运算符。
        * 与  是一对互逆运算。
例如:*(a) =  a  ; ( *p ) = p
        *指针变量 = 变量 
例如: p=a ; *p 就是a ;
        定义时的 * 与使用时的 * 含义不同,前者表示定义的是指针变量;后者是对变量的取值运算。 
        定义了一个某类型的指针变量后,它可以指向任意一个同类型变量。
   4)指针变量作函数参数
           主调函数                  被调函数
                实参                          形参     
                 a                               p
                   p                                p
      
                您可能关注的文档
最近下载
- 五年级数学奥数讲义.pdf VIP
- 牛羊屠宰兽医卫生检验人员理论考试题库及答案.docx VIP
- 牛品种改良与人工授精技术培训课件.ppt
- 五年级数学奥数讲义134讲.doc VIP
- 2025年综合类-电力机车钳工-电力机车钳工(高级技师)历年真题摘选带答案(5卷单选题100题).docx VIP
- 2025年综合类-电力机车钳工-电力机车钳工(高级)历年真题摘选带答案(5卷单选题100道).docx VIP
- 2025年综合类-电力机车钳工-电力机车钳工(高级)历年真题摘选带答案(5卷单选一百题).docx VIP
- 2025年综合类-电力机车钳工-电力机车钳工(高级技师)历年真题摘选带答案(5卷单选100题合辑).docx VIP
- 马来酸氯苯那敏片详细说明书与重点.docx VIP
- 2025年综合类-电力机车钳工-电力机车钳工(高级技师)历年真题摘选带答案(5卷单选一百题).docx VIP
 原创力文档
原创力文档 
                        

文档评论(0)