Memahami Nuansa (jenis)nilai dan jenis(nilai) dalam C
Dalam C , dua sintaks berbeza wujud untuk penghantaran jenis eksplisit : (jenis)nilai dan jenis(nilai). Perbezaan ini menimbulkan persoalan: apakah perbezaan, jika ada, antara kedua-dua ungkapan ini?
Tiada Perbezaan dalam Tuangan Mudah
Mengikut standard C (bahagian 5.2 .3), apabila penentu jenis mudah diikuti dengan satu ungkapan yang disertakan dalam kurungan, ungkapan yang terhasil mencipta nilai jenis yang ditentukan daripada ungkapan yang diberikan.
Kesamaan (jenis)nilai dan jenis(nilai)
Untuk satu ungkapan, (jenis)nilai adalah bersamaan dengan jenis(nilai) dalam kedua-dua definisi dan makna. Ini bermakna tiada perbezaan sama sekali antara kedua-dua ungkapan ini apabila menghantar nilai tunggal kepada jenis yang ditentukan.
Perbezaan dengan Berbilang Nilai
Walau bagaimanapun, perbezaan yang ketara timbul apabila menghantar senarai nilai yang dipisahkan koma. Dalam kes ini, jika jenis yang ditentukan ialah kelas dengan pembina yang diisytiharkan sesuai, maka type(x1, x2, ...) adalah bersamaan dengan mencipta pembolehubah sementara t jenis T dengan nilai yang diberikan dan memberikan nilai t kepada ungkapan itu.
Sekatan Nama Taip
Sebagai nota tambahan, terdapat nama jenis tertentu yang sintaks jenis(nilai) tidak boleh digunakan. Sebagai contoh, sementara (char )rentetan adalah sah, char (rentetan) akan gagal penyusunan. Walau bagaimanapun, jika jenis dialiaskan menggunakan typedef, sintaks jenis(nilai) boleh digunakan dengan nama alias.
Atas ialah kandungan terperinci Apakah perbezaan, jika ada, antara (jenis)nilai dan jenis(nilai) dalam tuangan C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!