অনির্ধারিত আচরণ হল বাস্তবায়নকারীদের স্বাধীনতা দেওয়ার একটি উপায় (যেমন কম্পাইলার বা OS-এর) এবং কম্পিউটারগুলিকে তারা যা চায় তাই করতে, অন্য কথায়, পরিণতি সম্পর্কে চিন্তা না করার জন্য।
যে ক্ষেত্রে সেগমেন্টেশন ফল্ট ঘটে সেগুলি ক্ষণস্থায়ী প্রকৃতির। এগুলি সর্বদা একটি বিভাজন ত্রুটির কারণ হবে না তবে সঠিকভাবে চলতে পারে (বা কমপক্ষে প্রদর্শিত হবে)। উদাহরণস্বরূপ, নিম্নলিখিত কোড খণ্ডটি বিবেচনা করুন −
#include<iostream>
int main() {
int arr[2];
arr[0] = 0;
arr[1] = 1;
arr[2] = 2; // Undefined behaviour
arr[3] = 3; // Undefined behaviour
} এই কোডটি সঠিকভাবে চলতে পারে বা একটি বিভাজন ত্রুটি হতে পারে। এটি সত্যিই সংজ্ঞায়িত এবং বাস্তবায়ন-নির্ভর নয়। আপনি এখানে অনির্ধারিত আচরণ সম্পর্কে আরও পড়তে পারেন - http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html