初始化
指针几种初始化: 某个变量地址 内存地址 或者字符串常量 或者NULL
某个变量地址
int i= 10;
int *p2 = &i; //声明1个指针p2,并直接初始化为变量i的值
char letter = 'L';
char *myLetter = &letter; // 声明1个指针变量myLetter 并直接初始化为letter的地址
内存地址
char * name = (char*)malloc(10); //声明1个字符指针name
strcpy(name, "abcde123456");
printf("name=%s \n",name);
字符串常量
char * mystr = "welcome to c!"; // 字符串常量
NULL
NULL地址在内存中是不存在的,是0地址
int *p1 = NULL;// 声明指针变量p1,并初始化为NULL
野指针
char *p;
printf("p=%c \n",*p); // 会报错
错误例子
# *p p必须是有效的地址,否则会引发程序奔溃
野指针
char *p;
printf("p=%c \n",*p);
NULL
char *p = NULL;
printf("p=%s \n",*p);