指針類型與動態變量

    一:概念
        指針類型:指示內存地址的數據類型; 
		指針變量:存放內存地址的變量(簡稱"指針");
	二:指針變量的定義
	    1.格式: 
		    指針的類型 *變量名/*"*"是指針說明符*/; 
		    如:
			    int *p;
				int *a[100];
				char *s;
		2.結構體指針:
		    如:
			    struct node{
				    int data;
				    node *next;
				}*p;
	三:指針運算符(2個)
	    1.取地址(&):&後是普通變量(非雙指針); 
		2.取內容(*):*表示指針所指向的變量.如*後是指針;
		程序中:
		        指針:p
				指針所取變量:*p
		結構指針的成員兩種寫法:
		    (1): (*p).m; 
			(2): p->m;
	四:指針的使用
	    1.指針賦值:給指針一個地址
		    如:
			    p=&a;
				p=arr;
				p=p1;
				p=NULL;
		2.指針的運算(加或減一個整數)/*是地址內存字節數的+,-*/:
			如:
			    p++;
				p--;
				p+=i;
				p-=i;
				r=p+i;
				r=p-i;
		3.兩指針相減/*求出距離*/;
		4.兩指針比較;
		5.*p和普通變量一樣用:
		    如:
			    *p=10000;
				*p+=*p1;
				*p=n/z;
	    五:動態變量 
			當指針指向一塊無名的內存空間,就形成了一個動態變量;
		    形如:*p
			生成一個指定類型的動態變量:
			    格式:變量名=new 數據類型;
				功能:生成一個指定類型的動態變量;
				如:p=new int[10]; 
				p=new node;
				如給一個動態數組存入n個元素:
				int n,*p;
				scanf("%d",&n);
				p=new int[n];
				for(int i=0;i<n;i++){
				    *p=rand()%90+10;
				    printf("%d ",*p++);
				}
		注意區別:
		    動態數組是一個指針;
			指針數組是一組指針;
		六:指針與字符串
		    一個串的兩種訪問形式:
			    1.字符數組,如:char s[]="China";
			    2.串指針,如:char *s="China";
			例一:較出串的10個字符後的所有字符
			    入:this is a book
				出:book
		    例二:把串a複製給串b,不用strcpy
			    char *a,*b;
				gets(a);
				b=a;/*b指向a*/
				puts(b); 
            注意:
                字符數組,指針進行串處理的區別:
				1.串指針是一個變量,存放的是串的首地址。
				  字符數組是多個字符變量組成的,存放整個串,數組名是串首地址。
			    2.對串指針:char*s;    s="china";√
				  對字符數組:char s[1000];    s="china";×
			七:指針數組
			例:輸入n個國名,按詞典順序輸出。
			    char *g[100];
				int n,i;
				void px(char *g[]){
				    char *p;
				    for(int i=0;i<n-1;i++)
				        for(int j=i+1;j<n=j++)
				            if(strcmp(g[i],g[j])>0){
							    p=g[i];
							    g[i]=g[j];
							    g[j]=p;
							}
   				} 
   				int main(){
				    scanf("%d\n",&n);
					for(i=0;i<n;i++){
					    g[i]=new char;
					    gets(g[i]);
					}   
					px(g);
					for(i=0;i<n;i++)
					    printf("%d ",g[i]);
					return 0;
				}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章