Ralat Penukaran Tidak Sah Semasa Menggunakan malloc()
Apabila cuba menggunakan fungsi malloc(), pembangun mungkin menghadapi "penukaran tidak sah yang membingungkan daripada ralat void* kepada char* Isu ini sering timbul apabila menyusun kod dengan pengkompil C, seperti g , nilai pulangan malloc() memerlukan cast yang jelas kepada jenis data yang dikehendaki, biasanya char*. untuk rentetan.
Untuk menyelesaikan ralat ini, hanya tambahkan cast pada char* apabila menggunakan malloc() Kod yang diperbetulkan akan muncul seperti berikut:
char *foo = (char*)malloc(1);
Dengan menukar nilai pulangan secara eksplisit daripada malloc() kepada char*, anda memaklumkan pengkompil tentang jenis data yang dimaksudkan dan mengelakkan ralat "penukaran tidak sah" Adalah penting untuk ambil perhatian bahawa penghantaran adalah penting apabila bekerja dengan fungsi C dalam persekitaran C pengkompil boleh mentafsir nilai pulangan secara salah, mengakibatkan ralat atau tingkah laku yang tidak dijangka.
Atas ialah kandungan terperinci Mengapakah malloc() Menyebabkan Ralat \'Penukaran Tidak Sah\' dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!