指標陣列與指標變數
阿新 • • 發佈:2018-12-27
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 intlength(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