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 }