C语言指针的初始化!!!!

Python013

C语言指针的初始化!!!!,第1张

例如 int *pt 然后 *pt=5 这样说是不能对未初始化指针取值!!还有 如果有指针 char* i不初始化直接用 *i="Hello"可以吗?

int *pt/* pt是一个指向整数的指针,未初始化时,存储该指针的地址&pt是随机的,可以用printf("%p",pt)来验证。 就是说,该指针可能指向任意地方,包括系统使用的内存区,虽说这不是你需要的。当*pt = 5时,就有 可能造成无法预料的结果。*/你可以在定义指针的时候直接初始化,语句如下int *pt = 5同样,也可以这样这样写:char *i = "Hello"

变量的初始化就是在定义变量的时候,直接对变量进行赋值操作。初始化的方式一般有如下两种:1、直接对变量进行赋予常量数值进行初始化;2、通过同类型变量进行初始化。举例说明如下:// 以下属于第1种初始化方式int a1=5 // 整型变量的初始化int b1[]={1,2,3,4}// 整型数组的初始化char str1[]="abcd"// 字符数组的初始化// 以下属于第2种初始化方式int a2 = a1 // 整型变量的初始化int b2[4] = b1// 整型数组的初始化char str2[4] = str1// 字符数组的初始化char *p = str1// 字符指针的初始化