(52)指针 (53)数组的增删改查
(52)指针
1. int * p定义一个指针
2. P=&a就能将指针指向变量a
3.定义一个赋值函数不能直接赋值需要用指针
1 #include<stdio.h> 2 void f1(int *b) 3 { 4 *b=10; 5 } 6 int main(void) 7 { 8 int a=1; 9 f1(&a); 10 printf("%d",a); 11 return 0; 12 }
(53)数组的增删改查
1 #include<stdio.h> 2 #define len 10 3 int length(int *a) //求有效元素个数 4 { 5 int j=0; 6 while(j<len) 7 { 8 if (a[j]==0) 9 break; 10 else 11 ++j; 12 } 13 printf("有效元素个数为:%-5d",j); 14 return j; 15 } 16 void shuchu(int *a) //输出数组的有效元素 17 { 18 int chang= length(a); 19 for(int i=0;i<chang;++i) 20 printf("%5d",a[i]); 21 printf("\n"); 22 } 23 bool del(int *a,int index) //删除指定下标的元素 24 { 25 int chang =length(a); 26 if(chang==0 || index>chang-1) 27 return false; 28 else 29 { 30 for(int i=index;i<chang;++i) 31 a[i]=a[i+1]; 32 a[chang-1]; 33 return true; 34 } 35 } 36 bool insert(int *a,int value,int index) //在指定下标处插入元素 37 { 38 int chang=length(a); 39 if(index<0 || chang==len ||index>chang) 40 return false; 41 else 42 for(int i=chang-1;i>index;--i) 43 a[i+1]=a[i]; 44 a[index]=value; 45 return true; 46 } 47 int main(void) 48 { 49 int a[len]={1,2,3,4,5}; 50 length(a); 51 insert(a,20,2); 52 shuchu(a); 53 return 0; 54 }