义乌购物网站建设多少钱,品牌建设更加,网站推广与维护设计方案,室内设计效果图展板一、什么是未定义行为#xff1f; 未定义行为#xff08;Undefined Behavior#xff09;是指C语言标准未做规定的行为。同时#xff0c;标准也从没要求编译器判断未定义行为#xff0c;所以这些行为有编译器自行处理#xff0c;在不同的编译器可能会产生不同的结果#…一、什么是未定义行为 未定义行为Undefined Behavior是指C语言标准未做规定的行为。同时标准也从没要求编译器判断未定义行为所以这些行为有编译器自行处理在不同的编译器可能会产生不同的结果又或者如果程序调用未定义的行为可能会成功编译甚至一开始运行时没有错误只会在另一个系统上甚至是在另一个日期运行失败。当一个未定义行为的实例发生时正如语言标准所说“什么事情都可能发生”也许什么都没有发生。 一句话未定义行为就是运行结果不确定可能运行成功可能失败可能结果不同 二、未定义行为的例子
大家只要正确的写代码就行别搞这些未定义的行为。
1. 指针的未定义行为
解引用空指针解引用没被初始化的指针野指针使用指向生命周期已结束的对象的指针指针的越界访问
2. 其他未定义行为
有符号的整数的算数溢出数组越界访问访问未初始化的变量对字符串常量进行修改对于有返回值的函数不返回返回值变量同时是左值和右操作数输出语句中的无顺序打印这里特指此类printf( %d %d ,i , --i );
参考博客洛谷日报关于 C 未定义行为的一些事 - 知乎