1 /*============================================== 2 *名称:用指针循环出数组 功能:无 3 *日期:2013-05-12 by:ant 4 *备注: 5 *========================================== */ 6 /*#include<stdio.h> 7 int main() 8 { 9 int i,arr[3]={0,1,2},*p_arr; 10 p_arr = arr; 11 for (p_arr;p_arr<=(arr + 2);p_arr++) 12 { 13 printf("%d ",*p_arr); 14 } 15 printf("\n"); 16 return 0; 17 } 18 */ 19 /* 20 #include <stdio.h> 21 int main() 22 { 23 int value = 0; 24 int *p_value = NULL;//初始化指针用空地址,一但指针不用也要设成空地址,否则一但访问一个不存在的地址将造成严重后果。 25 *p_value = &value; 26 printf("大小是%d %d\n",sizeof(p_value),sizeof(int *)); 27 return 0; 28 } 29 */ 30 /*#include <stdio.h> 31 int main() 32 { 33 //指针的强类型转换 34 int value = 134643; 35 int *p_value = &value; 36 printf("*p_value是%d\n",*p_value); 37 printf("*(unsigned char *)p_value是%d\n",*(unsigned char *)p_value); 38 return 0; 39 } 40 */ 41 /* 42 #include<stdio.h> 43 int add(int value, int value1) 44 { 45 return value + value1; 46 } 47 int add1(int *p_value,int *p_value1) 48 { 49 //指针变量也可以做为函数的参数使用。 50 return *p_value + *p_value1; 51 } 52 int main() 53 { 54 int value = 3, value1 = 5; 55 int ret = add(value,value1); 56 printf("结果是%d\n",ret); 57 ret = add1(&value,&value1); 58 printf("结果是%d\n",ret); 59 return 0; 60 } 61 */ 62 #include<stdio.h> 63 int main() 64 { 65 int value = 3; 66 char ch = 'a'; 67 float fvalue = 4.7; 68 //int *p_value = NULL; 69 void *p_value = NULL;//这种指针可以用来记录任何类型变量地址。 70 p_value = &value; 71 printf("value是%d\n",*(int *)p_value);//无类型的指针在使用时必须先强制类型转换才可以使用。 72 p_value = &ch; 73 printf("value是%c\n",*(char *)p_value); 74 p_value = &fvalue; 75 printf("value是%g\n",*(float *)p_value); 76 77 78 return 0; 79 }