zoukankan      html  css  js  c++  java
  • [C++]指针/指针数组/数组指针/多维指针/单值指针/多值指针

     int main(){ 	
     	//单值指针(指向单个值得指针,类同普通变量)
    	int *px = new int;
     	*px = 100;
     	printf("%d",*px);
     	delete px;
    	
    	//多值指针(指向多个元素的指针,类同普通数组变量)
    	int *p = new int[2];
    	p[0] = 2;
    	p[1] = 99;
    	printf("%d %d
    ",p[0],p[1]);//2 99
    	delete [] p;
    	
    	//二维指针(属于多维指针)
    	int **pp = new int * [3];//m:宽  (即 列数)
    	for(int i = 0;i < 3;i++){
    		pp[i] = new int [2];//列长(即 行数)
    	}
    	for(int i = 0;i < 3;i++){
    		delete [] pp[i];
    	}
    	
    	//三维指针(属于多维指针)
    	int ***ppp = new int ** [3];//假定数组第一维为m, 第二维为n, 第三维为h
    	for(int i = 0;i < 3;i++){
    		ppp[i] = new int * [2];
    		for(int j = 0; j < 2; j++){
    			ppp[i][j] = new int [4];
    		}
    	} 
    	for( int i=0; i < 3; i++ ){
    		for( int j=0; j < 2; j++ ){
    	        delete ppp[i][j];
    		}
    		delete ppp[i];
    	}
    	
    	//数组指针(又称为 行指针;本质:指针) 
    	int array[2][3] = {1,2,3,4,5,6};
    	int (*lineP)[3] = array;	
    	delete [] lineP[0];
    	delete [] lineP[1];
    	delete [] lineP[2];
    	
    	//指针数组(指向多个指针) 
    	int m = 100; 
    	int *pA = &m;
    	int *pB = &m;
    	int *pC = &m; 
    	int *pa[2]; 
    	pa[0] = pA; 
    	pa[1] = pB; 
    	printf("%d %d",*(pa[0]),*(pa[1]));//100 100
    
     }
    

      

  • 相关阅读:
    浅谈MVP与ModelViewViewModel(MVVM)设计模式
    策略模式
    C#验证码
    如何招到烂程序员
    承载和使用WCF服务
    .NET Remoting 使用总结
    基于.Net Remoting的应用程序
    HTML5 是什么?
    关于HTTP及XMLHTTP状态代码一览
    Remoting多个信道(Chennel)的注册问题
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/7887204.html
Copyright © 2011-2022 走看看