Tingkah Laku Tidak Tentu vs. Tidak Tentu dalam C dan C
Dalam C dan pendahulunya C, pelbagai peringkat hasil tingkah laku boleh timbul daripada kod, setiap satu mempunyai implikasi yang berbeza untuk pelaksanaan program.
Tidak tentu Gelagat
Tingkah laku tidak tentu berlaku apabila piawaian C atau C tidak menyatakan keputusan yang tepat untuk pembinaan kod tertentu. Tingkah laku dibiarkan tidak ditentukan, dan pengkompil atau sistem masa jalan bebas untuk memilih hasil sewenang-wenangnya. Menetapkan pembolehubah yang tidak dimulakan, sebagai contoh, menghasilkan nilai yang tidak tentu. Nilai ini boleh jadi apa-apa sahaja dan mungkin berbeza-beza merentas pelaksanaan pengkompil yang berbeza atau malah pengkompil yang sama dalam keadaan yang berbeza.
Gelagat Tidak Ditakrifkan
Tingkah laku tidak ditentukan ialah situasi yang lebih teruk di mana tingkah laku bukan sahaja tidak ditentukan tetapi langsung tidak ditentukan. Program ini mungkin menunjukkan tingkah laku yang tidak dapat diramalkan, termasuk kerosakan memori, ranap program atau pelaksanaan yang salah. Contoh tingkah laku yang tidak ditentukan termasuk mengakses elemen tatasusunan di luar sempadan atau menggunakan penunjuk nol.
Perbezaan
Tingkah laku tidak tentu membayangkan bahawa keputusan tidak ditentukan oleh standard, manakala tingkah laku yang tidak ditentukan menunjukkan bahawa hasilnya tidak dapat diramalkan dan boleh membawa kepada kegagalan program atau tingkah laku yang salah. Tingkah laku tidak tentu ialah subkelas tingkah laku yang tidak ditentukan, dengan tingkah laku tidak ditentukan sebagai kes yang paling melampau.
Pengkelasan dalam Kod C
Pengkelasan tingkah laku tidak tentu dan tidak ditentukan adalah sama sah untuk kod C. Konsep dan istilah ditakrifkan dalam standard C dan digunakan untuk kedua-dua bahasa pengaturcaraan C dan C.
Atas ialah kandungan terperinci Apakah Perbezaan Antara Kelakuan Tidak Tentu dan Tidak Tentu dalam C dan C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!