1.测试环境:gcc 4.4
2.如果程序访问无法访问的内存地址,或者说不存在的内存地址,就会报 Segmentation fault
如下面的语句
char* p="123";// p说存储的地址不确定,有可能无法写数据。
scanf("%s",p);
就会产生段错误。
比如说数组越界访问(地址有可能不存在)
比如说将整数作为字符串来打印(整数表示的地址有可能不存在)
3.注意事项.
<1> 指针必须初始化,使用指针的时候必须判断是否为NULL
<2> 数组必须初始化,数组必须判断是否越界。
<3> 变量的处理必须注意格式。
2.如果程序访问无法访问的内存地址,或者说不存在的内存地址,就会报 Segmentation fault
如下面的语句
char* p="123";// p说存储的地址不确定,有可能无法写数据。
scanf("%s",p);
就会产生段错误。
比如说数组越界访问(地址有可能不存在)
比如说将整数作为字符串来打印(整数表示的地址有可能不存在)
3.注意事项.
<1> 指针必须初始化,使用指针的时候必须判断是否为NULL
<2> 数组必须初始化,数组必须判断是否越界。
<3> 变量的处理必须注意格式。