通过如下方式,访问指针定义范围以外的内容,指针越界
root@wesley-VirtualBox:/home/wesley/C_coding/20201130# cat pointer.c
#include <stdio.h>
int main()
{
const int a = 0x12345678;
int b = 0x11223344;
int *p = &b;
*(p+1) = 0x100;
printf("the a is %x\n",p[100]);
}
root@wesley-VirtualBox:/home/wesley/C_coding/20201130# ./pointer
the a is e5941d54
指针越界过度,则会导致core dump
root@wesley-VirtualBox:/home/wesley/C_coding/20201130# cat pointer.c
#include <stdio.h>
int main()
{
const int a = 0x12345678;
int b = 0x11223344;
int *p = &b;
*(p+1) = 0x100;
printf("the a is %x\n",p[10000]);
}
root@wesley-VirtualBox:/home/wesley/C_coding/20201130# gcc -o pointer pointer.c
root@wesley-VirtualBox:/home/wesley/C_coding/20201130# ./pointer
Segmentation fault (core dumped)