C语言 初识指针
        【摘要】   
 
  指针变量
  :用来存放一个变量地址的变量就叫指针变量。
  
 
   
  
 
  格式一:
  
 
  类型名 *指针变量名1,*指针变量名2...
  
 
   
  
 
  int *p; char *ch; int a;char c;
  
 
  指针的作用都一样的,都是用来存放地址的,为什么还要分类型的原因是指针变量p只能存放整型变量地址,...
    
    
    
     指针变量 :用来存放一个变量地址的变量就叫指针变量。 
 
 
  格式一: 
 
 
  类型名 *指针变量名1,*指针变量名2... 
 
 
  int *p; char *ch; int a;char c; 
 
 
  指针的作用都一样的,都是用来存放地址的,为什么还要分类型的原因是指针变量p只能存放整型变量地址,指针变量ch只能存放字符变量地址。 
 
 
  如何让一个指针存放一个变量地址呢? 
 
 
  p=&a; ch = &c; 
 
 
  &:叫做取址符 *叫指针运算符 
 
 
  变量的定义就是给其开辟存储单元的过程。 
 
 
  任何变量都有自己的存储地址。 
 
 
  指针就是用来存放变量地址的。 
 
 
  指针也是个变量。 
 
 
  指针也需要个地址 
 
 
  专门用来存放指针的地址,他就是指向指针的指针。 
 
 
  int **p ,*s 
 
 
  p = &s; 
 
 
  **p就是一个指向指针的指针。它里面只能存放同种数据类型的指针的地址。 
 
 
  C语言提供了一个称做“间接访问运算符”,的单目运算符:“*”当指针变量中存放了一个确切的地址值是,就可以用“间接运算预算符”通过指针来引用改地址的存储单元。 
 
 
  如: 
 
 
  int *p,i=10,j; 
 
 
  p = &i; //10 指向i的地址 
 
 
  j=*p; //10 把p指向的地址的值赋给j 
 
 
  j=i; <--------> j=*(&i); 
 
 
  再如: 
 
 
  int *p,k=0; 
 
 
  p=&k; 
 
 
  *p=100; 
 
 
  *p+=1; 
 
 
  注意:当*p出现在赋值号左边时,代表的是指针所指的存储单元,当*p出现在赋值号右边时,代表的是指针所指的存储单元的内容。 
 
 
  *p+=1; 给指针所指的空间里的值+1并返回了,, 
 
 
  ++*p;*和++的运算优先级相同,从右到左结合所以 ++(*p) 
 
 
  (*p)++; 不能省略()否则造成地址的移动出现错误 
 
 
  
  利用指针来输入两个数,并且取出其中最小值, 
 
 
 
   #include 
 
 
 
   main() 
 
 
 
   { 
 
 
 
   inta,b,min,*pa,*pb,*pmin; 
 
 
 
   pa=&a; 
 
 
 
   pb=&b; 
 
 
 
   pmin=&min; 
 
 
 
   scanf("%d%d",pa,pb); 
 
 
 
   printf("a=%d,b=%d",a,b); 
 
 
 
   *pmin=*pa; 
 
 
 
   if(*pa>*pb) 
 
 
 
   *pmin=*pb; 
 
 
 
   printf("min=%d",min); 
 
 
 
   return 0; 
 
 
 
   } 
 
 
文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。
原文链接:czhenya.blog.csdn.net/article/details/76092111
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)