1. 程式人生 > >指標陣列與指標變數

指標陣列與指標變數

1、指標陣列

int *p[4]    每個元素都要存放一個地址

2、指標變數

in(*p)[4]   指標變數p指向包含4個整型元素的一維陣列,可存4個地址

3、比較字串的大小

#include<stdio.h>
#include<string.h>
int main()
{void sort(char *name[],int n);
void print(char *name[],int n);
char *name[]={"bHBUYj","HKUBjhbk","hvk","dBGGF","abcd
"}; int n=5; sort(name,n); print(name,n); return 0; } void sort(char *name[],int n) {char *t; int i,j,k; for(i=0;i<n-1;i++) //選擇法排序 {k=i; for(j=i+1;j<n;j++) if(strcmp(name[k],name[j])>0)k=j; if(k!=i) {t=name[i];name[i]=name[k];name[k]=t;} } } void print(char *name[],int n) {int i; for
(i=0;i<n;i++) printf("%s",name[i]); }

4、寫一函式,求一個字串的長度,要求函式形參用指標變數,在main函式中輸入字串,並輸出其長度

 1 #include<stdio.h>
 2 int main()
 3 {   int lengh(char *p);
 4     int len;
 5     char str[20];
 6     scanf("%s",str);
 7     len=length(str);
 8     printf("%d",len);
 9     return 0;
10 }
11 int
length(char *p) 12 { int n=0; 13 for(n=0;*p!='\0';p++,n++)
14 return(n); 15 }

輸入China,執行結果為0  執行出錯

需將第13行改為for(n=0;*p!='\0';p++)n++;執行結果為5