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 }