Pertanyaan yang diberi tag «c»

C adalah bahasa pemrograman tujuan umum yang digunakan untuk pemrograman sistem (OS dan tertanam), perpustakaan, game, dan lintas-platform. Tag ini harus digunakan dengan pertanyaan umum tentang bahasa C, sebagaimana didefinisikan dalam standar ISO 9899 (versi terbaru, 9899: 2018, kecuali ditentukan lain - juga tag permintaan versi khusus dengan c89, c99, c11, dll). C berbeda dari C ++ dan tidak boleh digabungkan dengan tag C ++ tanpa alasan yang rasional.

11
Mengapa printf dengan satu argumen (tanpa penentu konversi) tidak digunakan lagi?
Dalam buku yang saya baca, tertulis bahwa printfdengan satu argumen (tanpa penentu konversi) tidak berlaku lagi. Ini merekomendasikan untuk mengganti printf("Hello World!"); dengan puts("Hello World!"); atau printf("%s", "Hello World!"); Bisakah seseorang memberi tahu saya mengapa printf("Hello World!");salah? Ada tertulis di buku yang berisi kerentanan. Kerentanan apa ini?

7
Kebingungan tentang inisialisasi array di C
Dalam bahasa C, jika menginisialisasi array seperti ini: int a[5] = {1,2}; maka semua elemen dari array yang tidak diinisialisasi secara eksplisit akan diinisialisasi secara implisit dengan nol. Tapi, jika saya menginisialisasi array seperti ini: int a[5]={a[2]=1}; printf("%d %d %d %d %d\n", a[0], a[1],a[2], a[3], a[4]); keluaran: 1 0 1 …

7
Reset C int array ke nol: cara tercepat?
Dengan asumsi bahwa kita memiliki T myarray[100]dengan T = int, unsigned int, long long int atau unsigned long long int, apa cara tercepat untuk mengatur ulang semua kontennya menjadi nol (tidak hanya untuk inisialisasi tetapi untuk mengatur ulang konten beberapa kali dalam program saya) ? Mungkin dengan memset? Pertanyaan yang …
102 c++  c  arrays  memset 

2
GCC -g vs -g3 GDB Flag: Apa Perbedaannya?
Saat mengompilasi kode sumber C dengan gcc atau Clang, saya selalu menggunakan -gflag untuk menghasilkan informasi debugging untuk gdb. gcc -g -o helloworld helloworld.c Saya perhatikan bahwa beberapa orang merekomendasikan -g3sebagai gantinya. Apa perbedaan antara bendera -gdan -g3? Juga apakah ada perbedaan antara -gdan -ggdb?
102 c  debugging  gcc  gdb  clang 

4
Menggunakan pustaka C ++ dalam kode C.
Saya memiliki pustaka C ++ yang menyediakan berbagai kelas untuk mengelola data. Saya memiliki kode sumber untuk perpustakaan. Saya ingin memperluas C ++ API untuk mendukung pemanggilan fungsi C sehingga perpustakaan dapat digunakan dengan kode C dan kode C ++ pada saat yang bersamaan. Saya menggunakan rantai alat GNU (gcc, …
102 c++  c  gcc  glibc 



24
Mengapa Anda tidak menggunakan C untuk aplikasi web Anda?
Saya sedang melihat-lihat beberapa web server yang berbeda pagi ini ketika saya menemukan G-WAN . Seperti yang saya pahami, ini adalah server web yang ditulis dalam C dan Anda harus memanfaatkannya dengan menulis situs web / aplikasi web Anda dalam C. Satu manfaat yang jelas adalah kecepatan seperti yang disarankan …
101 php  c  web-applications 

16
Fungsi Timer untuk menyediakan waktu dalam nano detik menggunakan C ++
Saya ingin menghitung waktu yang dibutuhkan API untuk mengembalikan nilai. Waktu yang dibutuhkan untuk tindakan semacam itu berada dalam rentang nano detik. Karena API adalah kelas / fungsi C ++, saya menggunakan timer.h untuk menghitung hal yang sama: #include <ctime> #include <cstdio> using namespace std; int main(int argc, char** argv) …
101 c++  c  timer 

4
penentu format printf untuk uint32_t dan size_t
Saya memiliki yang berikut ini size_t i = 0; uint32_t k = 0; printf("i [ %lu ] k [ %u ]\n", i, k); Saya mendapatkan peringatan berikut saat menyusun: format ‘%lu’ expects type ‘long unsigned int’, but argument has type ‘uint32_t’ Ketika saya menjalankan ini menggunakan belat, saya mendapatkan yang …
101 c  printf 

1
Apa arti [N… M] dalam penginisialisasi agregat C?
Dari sys.c baris 123: void *sys_call_table[__NR_syscalls] = { [0 ... __NR_syscalls-1] = sys_ni_syscall, #include <asm/unistd.h> }; sys_call_tableadalah penunjuk umum ke array, saya bisa melihatnya. Namun apa notasinya: [0 ... __NR_syscalls-1] Apa itu ...? EDIT: Saya belajar trik C lain di sini: #include <asm/unistd.h>akan diproses sebelumnya dan diganti dengan isinya dan …
101 c  linux  kernel 

14
Apa cara terbaik untuk melakukan putaran mundur di C / C # / C ++?
Saya perlu bergerak mundur melalui array, jadi saya memiliki kode seperti ini: for (int i = myArray.Length - 1; i >= 0; i--) { // Do something myArray[i] = 42; } Apakah ada cara yang lebih baik untuk melakukan ini? Pembaruan: Saya berharap mungkin C # memiliki beberapa mekanisme bawaan …
101 c#  c++  c 

13
Coba pernyataan tangkap di C
Saya berpikir hari ini tentang blok coba / tangkap yang ada dalam bahasa lain. Googled untuk sementara ini tetapi tanpa hasil. Dari apa yang saya tahu, tidak ada yang namanya coba / tangkap di C. Namun, apakah ada cara untuk "mensimulasikan" mereka? Tentu, ada trik assert dan trik lain tetapi …
101 c 

7
Membuat string berformat C (tidak mencetaknya)
Saya memiliki fungsi yang menerima string, yaitu: void log_out(char *); Dalam memanggilnya, saya perlu membuat string berformat dengan cepat seperti: int i = 1; log_out("some text %d", i); Bagaimana saya melakukan ini di ANSI C? Hanya saja, karena sprintf()mengembalikan int, ini berarti saya harus menulis setidaknya 3 perintah, seperti: char …
101 c  string 


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.