Domande taggate «c»

C è un linguaggio di programmazione generico utilizzato per la programmazione di sistemi (OS e embedded), librerie, giochi e multipiattaforma. Questo tag deve essere utilizzato con domande generali relative al linguaggio C, come definito nella norma ISO 9899 (l'ultima versione, 9899: 2018, se non diversamente specificato - anche tag richieste specifiche della versione con c89, c99, c11, ecc.). C è distinto da C ++ e non dovrebbe essere combinato con il tag C ++ in assenza di una ragione razionale.

4
Calcolo di una radice nidificata in C
Mi è stato chiesto di calcolare la seguente espressione radice nidificata usando solo la ricorsione . Ho scritto il codice qui sotto che funziona, ma ci hanno permesso di usare solo una funzione e 1 input nper lo scopo e non 2 come ho usato. Qualcuno può aiutarmi a trasformare …
9 c  recursion  sqrt 

1
C parametro principale
Ho scritto un codice che deve visualizzare i parametri principali, ma quando l'ho compilato e digitato il programma "*" mostra la mia struttura di file. Il comando in cmd è simile al seguente:program.exe 1 2 3 * #include <stdio.h> #include <stdlib.h> int main(int argc, char const* argv[]) { for (int …


1
Conversione a vuoto ** su diversi compilatori
Ho eseguito il seguente codice attraverso diversi compilatori: int main() { float **a; void **b; b = a; } Da quello che sono stato in grado di raccogliere, nonvoid ** è un puntatore generico, il che significa che qualsiasi conversione da un altro puntatore non dovrebbe compilare o almeno lanciare …
9 c++  c  cuda 



3
Perché LLVM alloca una variabile ridondante?
Ecco un semplice file C con una definizione enum e una mainfunzione: enum days {MON, TUE, WED, THU}; int main() { enum days d; d = WED; return 0; } Traspila al seguente IR LLVM: define dso_local i32 @main() #0 { %1 = alloca i32, align 4 %2 = alloca …
9 c  llvm  llvm-codegen 

1
CHAR_WIDTH non dichiarato
Ottengo l'errore ‘CHAR_WIDTH’ undeclared quando provo a compilare questo semplice programma: #include <stdio.h> #include <limits.h> int main() { printf("CHAR_BIT = %d\n", CHAR_BIT); printf("CHAR_WIDTH = %d\n", CHAR_WIDTH); return (0); } con gcc ./show_char_width.c -o show_char_width e gcc: GNU C17 (Ubuntu 8.3.0-6ubuntu1) versione 8.3.0 (x86_64-linux-gnu) compilata da GNU C versione 8.3.0, GMP …
9 c  gcc 



2
Che cos'è l'incapsulamento in fase di compilazione in C?
Durante la ricerca dei vantaggi di C rispetto a C ++, mi sono imbattuto in questo paragrafo: Il modo standard in C per eseguire l'incapsulamento è inoltrare una struttura e consentire l'accesso ai suoi dati solo attraverso le funzioni. Questo metodo crea anche l'incapsulamento del tempo di compilazione. L'incapsulamento in …
9 c 

6
Puntatore C alla dichiarazione dell'array con bit a bit e operatore
Voglio capire il seguente codice: //... #define _C 0x20 extern const char *_ctype_; //... __only_inline int iscntrl(int _c) { return (_c == -1 ? 0 : ((_ctype_ + 1)[(unsigned char)_c] & _C)); } Ha origine dal file ctype.h dal codice sorgente del sistema operativo obenbsd. Questa funzione controlla se un …
9 c  openbsd 

3
foo (vuoto) vs foo (vuoto *)
Funzionalmente e sintatticamente, c'è una differenza tra una funzione il cui prototipo è int foo(void)eint foo(void *) ? Conosco la differenza tra, per esempio, int bar(int)e int bar(int *)- uno di loro sta cercando un int e l'altro sta cercando un puntatore int. Si voidcomporta allo stesso modo?

3
+ (+ k--) espressione in C
Ho visto questa domanda in un test in cui dobbiamo dire l'output del seguente codice. #include<stdio.h> int main(){ int k = 0; while(+(+k--)!=0) k=k++; printf("%d\n", k); return 0; } L'output è -1. Non sono sicuro del perché questa sia la risposta, però. Cosa significa l'espressione +(+k--)in C?
9 c 

4
Come funziona sizeof con questa dereferenziazione di un puntatore ad array?
Qui ho un puntatore ptra array arrdi 4 numeri interi. ptrpunta all'intero array. ptr[0]oppure *ptrpunta al primo elemento dell'array, quindi l'aggiunta di 1 a ptr[0]fornisce l'indirizzo del secondo elemento dell'array. Non riesco a capire perché l'utilizzo sizeof(ptr[0])fornisca la dimensione dell'intero array, 16 byte, non la dimensione del solo primo elemento, …
9 c  arrays  pointers 

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.