9.初始指针(2)
野指针
(1)
int main()
{
//未初始化的指针变量
int*p;//局部变量不初始化,里面默认放随机值
*p=20;
?
return 0;
}
?
(2)越界导致野指针
int main()
{
int a[10]={0};
int i=0;
int*p=a;
for(int i=0;i<=12;i++)
{
*p=1;
p++;
//*p++ = i;
}
return 0;
}
?
(3)指针空间被释放
int* test()
{
int a=10;
return &a;
}
int main()
{
int*p=test();
printf("%d\n,*p");
?
return 0;
}
?
指针-指针
int main()
{
char ch[5]={0};
int arr[10]={1,2,3,4,5,6,7,8,9,10};
printf("%d\n",&arr[9]-&arr[0]);
printf("%d\n",&arr[9]-&ch[0]);//err
?
return 0;
}
C语言学习记录9(2)
原文:https://blog.51cto.com/u_15229941/2947191