首页 > 其他 > 详细

6指针

时间:2020-03-29 20:35:39      阅读:38      评论:0      收藏:0      [点我收藏+]
  • 指针:变量在内存中的地址,称为指针
    • 指针声明的一般形式:数据类型标识符 *变量名  (此时,*为说明符,表示此变量为指针类型)
    • *指针运算符 和&取地址运算符   优先级相同 自右向左运算
    • #include<iostream>
      using namespace std;
      int main()
      {
      	int i=100;// 设其地址为4009 
      	int *p=&i;// 此时*为说明符 说明p为指针变量
      	cout<<p<<endl;  //随机给变量i一个地址值 
      	cout<<*p<<endl;//*为指针运算符 求地址中的内容  
      	return 0; 	
       }  
  • 指针与一维数组
    • int a[10] ; 
      int *p; 
      p=&a[0]//指针变量p指向a数据的第一个元素 
  • 指针与二维数组
    • a[i]=*(a+i)
      a[i][j]=*(a+i)[j]
      a[i][j]=*(*(a+i)+j)
      对于二维数组a[m][n]
      第i行第j列
      a[i-1][j-1]=*(&a[0][0]+n(i-1)+j-1) 
      
  • 指针与字符数组
    • #include<iostream>
      using namespace std;
      int main()
      {
      	char a1[30],a2[10],*p1,*p2;
      	p1=a1;p2=a2;
      	gets(a1);
      	gets(a2);
      	while(*p1!=‘\0‘)//通过指针变量p1循环到字符不等于\0的字符 
      	p1++;
      	while(*p2!=‘\0‘) 
      	*p1++=*p2++;
      	*p1=‘\0‘;
      	puts(a1);
      	return 0;
       } 
  • 指向函数的指针
    • 数据类型名*函数(参数列表)
    • #include<iostream>
      using namespace std;
      int fun(int i,int j);
      int main()
      {
      	int i,j,k;
      	i=10;j=30;
      	int (*pfun)(int i,int j); //函数指针  函数名由指针组成 
      	pfun=fun;//函数名的值等于该函数的地址值 
              k=(*pfun)(i,j);//求pfun存放地址中的内容  =fun(i,j); 
      	cout<<k<<endl;
      	return 0;	
       } 
       int fun(int i,int j)
      {
       	return (i+j)/2; 
       }
      

        

6指针

原文:https://www.cnblogs.com/binglingtime/p/12594442.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!