使用指针前必须初始化,且应该指向实际的变量

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main()
 5 {
 6     char ch;
 7     char *c=&ch;
 8     int *d=NULL;//初始化指针,实际意味着指向的一个安全的地方
 9     int digit;
10     d=&digit;//改变指针指向,否则不可用该指针
11     //scanf("%d",d);
12     printf("Input a char:");
13     //scanf("%c",c);
14     //printf("you input (%d %c)\n",*d,*c);
15     printf("%c\n",*c);
16     printf("Input an int:");
17     //scanf("%d",d);
18     printf("%d\n",*d);
19     char *str="Can create a string";
20     printf("%s\n",str);
21     char *nullstr=NULL;
22     printf("%s",nullstr);//输出了(null)
23     //*nullstr=getchar();不可接收到字符
24     printf("\nInput a char:");
25     char pointer_char;
26     nullstr=&pointer_char;//再次证明一个指针必须指向一个实际的变量
27     pointer_char=getchar();
28     putchar(pointer_char);
29     printf("\n");
30     char *double_pointer=NULL;
31     double_pointer=&pointer_char;
32     printf("%c\n",*double_pointer);//此处取出double_pointer的地址处的值
33     char *mllc_prt=(char *)malloc(255);//动态内存分配则已经相当于初始化
34     getchar();//缓冲
35     printf("Input a string:");
36     gets(mllc_prt);
37     puts(mllc_prt);
38     return 0;
39 }

 

posted @ 2014-03-31 20:58  xzenith  阅读(556)  评论(0编辑  收藏  举报