Dalam pertanyaan ini , seseorang menyarankan dalam komentar bahwa saya tidak boleh memberikan hasil malloc, yaitu int *sieve = malloc(sizeof(int) * length); daripada: int *sieve = (int *) malloc(sizeof(int) * length); Mengapa
Fungsi malloc melakukan alokasi memori dinamis di C dan merupakan bagian dari perpustakaan standar. Gunakan tag ini untuk pertanyaan tentang penggunaan, perilaku, dan implementasi malloc.
Dalam pertanyaan ini , seseorang menyarankan dalam komentar bahwa saya tidak boleh memberikan hasil malloc, yaitu int *sieve = malloc(sizeof(int) * length); daripada: int *sieve = (int *) malloc(sizeof(int) * length); Mengapa
Apa perbedaan antara melakukan: ptr = (char **) malloc (MAXELEMS * sizeof(char *)); atau: ptr = (char **) calloc (MAXELEMS, sizeof(char*)); Kapan sebaiknya menggunakan calloc over malloc atau
Ini adalah sesuatu yang telah menggangguku sejak lama. Kita semua diajarkan di sekolah (setidaknya, saya dulu) bahwa Anda HARUS membebaskan setiap pointer yang dialokasikan. Saya agak penasaran, tentang biaya sebenarnya dari tidak membebaskan memori. Dalam beberapa kasus yang jelas, seperti ketika...
Saya melihat di C ++ ada beberapa cara untuk mengalokasikan dan membebaskan data dan saya mengerti bahwa ketika Anda menelepon mallocAnda harus menelepon freedan ketika Anda menggunakan newoperator Anda harus memasangkan dengan deletedan itu adalah kesalahan untuk mencampur keduanya (misalnya...
alloca()mengalokasikan memori pada stack daripada pada heap, seperti pada kasus malloc(). Jadi, ketika saya kembali dari rutinitas, memori itu dibebaskan. Jadi, sebenarnya ini memecahkan masalah saya membebaskan memori yang dialokasikan secara dinamis. Membebaskan memori yang dialokasikan melalui...
Saya ingin tahu bagaimana mallocdan freebekerja. int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash....
Diketahui bahwa callocini berbeda dari mallocyang menginisialisasi memori yang dialokasikan. Dengan calloc, memori diatur ke nol. Dengan malloc, memori tidak terhapus. Jadi dalam pekerjaan sehari-hari, saya anggap callocsebagai malloc+ memset. Kebetulan, untuk bersenang-senang, saya menulis kode...
Apa itu tumpukan
Hari ini saya mencapai halaman 167 dari The C Programming Language (edisi kedua Brian W. Kernighan & Dennis M. Ritchie) dan menemukan bahwa penulis mengatakan saya harus dilemparkan malloc. Inilah bagian dari buku ini: 7.8.5 Manajemen Penyimpanan Fungsi malloc dan calloc mendapatkan blok...
Di perusahaan saya ada aturan pengkodean yang mengatakan, setelah membebaskan memori apa pun, setel ulang variabel ke NULL. Sebagai contoh ... void some_func () { int *nPtr; nPtr = malloc (100); free (nPtr); nPtr = NULL; return; } Saya merasa bahwa, dalam kasus-kasus seperti kode yang...
Saya mendapatkan kesalahan ini: peringatan: deklarasi implisit yang tidak kompatibel dari fungsi built-in 'malloc' Saya mencoba melakukan ini: fileinfo_list* tempList = malloc(sizeof(fileinfo_list)); Hanya untuk referensi, struct yang digunakan adalah: typedef struct { fileinfo**...
Saya baru saja melihat kode ini : artist = (char *) malloc(0); ... dan saya bertanya-tanya mengapa orang melakukan
Saya telah mencari-cari di Google dan menemukan kebanyakan orang menganjurkan penggunaan kmalloc, karena Anda dijamin mendapatkan blok memori fisik yang berdekatan. Namun, tampaknya juga kmallocdapat gagal jika blok fisik yang berdekatan yang Anda inginkan tidak dapat ditemukan. Apa keuntungan...
Jika saya menggunakan mallockode saya: int *x = malloc(sizeof(int)); Saya mendapatkan peringatan ini dari gcc: new.c:7: warning: implicit declaration of function ‘malloc’ new.c:7: warning: incompatible implicit declaration of built-in function
Saya meninjau kode C ++ orang lain untuk proyek kami yang menggunakan MPI untuk komputasi kinerja tinggi (10 ^ 5 - 10 ^ 6 core). Kode ini dimaksudkan untuk memungkinkan komunikasi antara (berpotensi) mesin yang berbeda pada arsitektur yang berbeda. Dia menulis komentar yang mengatakan sesuatu di...
Dalam sebuah proyek, seseorang mendorong baris ini: double (*e)[n+1] = malloc((n+1) * sizeof(*e)); Yang seharusnya menciptakan array dua dimensi (n + 1) * (n + 1) ganda. Seharusnya , saya katakan, karena sejauh ini, tidak seorang pun yang saya tanyai dapat memberi tahu saya apa fungsinya,...
Saya diberitahu bahwa kode berikut memiliki perilaku tidak terdefinisi hingga C ++ 20: int *p = (int*)malloc(sizeof(int)); *p = 10; Benarkah itu? Argumennya adalah bahwa masa pakai intobjek tidak dimulai sebelum menetapkan nilainya ( P0593R6 ). Untuk mengatasi masalah tersebut, penempatan...