Articles of principal

Où le système d’exploitation stocke-t-il argv et argc lorsqu’un processus enfant est exécuté?

J’ai quelques difficultés à comprendre comment le système d’exploitation transmet les données de l’espace d’adressage d’un processus parent à l’espace d’adressage d’un processus enfant. À savoir, dans un programme C, où argc et argv sont-ils stockés lorsqu’ils sont passés à main? Je comprends comment argv est essentiellement un double pointeur. Ce que je ne comprends […]

La valeur renvoyée par system () n’est pas la valeur renvoyée par le programme exécuté

Je voudrais exécuter un fichier exécutable dont main () renvoie 2 en utilisant system() . C’est ce que j’ai fait #include #include int main(int argc, char *agrv[]) { char command[7]; strcpy(command, “./test1”); printf(“The return value: %d\n”, system(command)); return 0; } et test1 est #include int main(void) { printf(“test1 has been executed and its return value […]

Pourquoi voudriez-vous précéder la fonction main () en C avec un type de données?

Beaucoup connaissent le programme hello world en C: #include main () { printf (“hello world”); return 0; } Pourquoi certains précèdent-ils la fonction main() avec int comme dans: int main() De plus, j’ai vu le mot void entré à l’intérieur du () comme dans: int main(void) Cela semble être une saisie supplémentaire pour rien, mais […]

Prototype de la fonction main () en c ou c ++?

Je parcourais un tutoriel et j’y ai lu que nous ne pouvons pas définir void main() car le prototype est déjà défini comme int main() or int main(int argc , char *argv) Ce ne sont que deux manières valables de définir la fonction principale en C. donc dans quel fichier d’en-tête ou de bibliothèque ces […]

Comment appeler main () depuis d’autres fonctions en C

Je passais par la différence en C et C ++ et j’ai trouvé un point délicat. Pouvez-vous préciser les points ci-dessous: En C, nous pouvons appeler la fonction main() via d’autres fonctions. En C ++, nous ne pouvons pas appeler la fonction main() via d’autres fonctions. Comment appeler main() depuis une autre fonction et quel […]

Arguments dans main () ignorés lors du débogage dans Visual C ++

Jusqu’à présent, j’ai pu visualiser correctement la sortie de mes codes C à l’aide de la commande de débogage dans Visual C ++. Cependant, lorsque le script s’appuie sur des parameters de la fonction principale (par exemple, / argc , argv ), le débogueur semble ignorer les deux parameters et les traiter comme s’ils n’étaient […]

Différentes conventions pour main () en C

Mon seul contact avec la programmation a été Java, où je n’ai pas rencontré (jusqu’à présent) différentes conventions pour l’écriture de la méthode principale.J’ai suivi les sources d’apprentissage formes de la méthode principale (fonction). Version K & R jusqu’à maintenant: main() { blah blah blah; } Programmation C Une approche moderne int main() { blah […]

Le type de retour de la fonction main ()

Je reçois ce code: #include #include void main(void) { char *ptr = (char*)malloc(10); if(NULL == ptr) { printf(“\n Malloc failed \n”); return; } else { // Do some processing free(ptr); } return; } Il comstack avec succès dans Visual C, mais ne comstack pas dans gcc, j’obtiens “erreur: ‘main’ doit renvoyer ‘int’”. Le type de […]

qui est la différence entre: main () {} et int main () {} et int main (void) {} ​​

J’apprends maintenant c, et jusqu’à présent, j’ai mis au sharepoint nombreux petits programmes. Cependant, j’ai remarqué que beaucoup d’entre eux dans la fonction principale commencent comme ceci: main() { //code } ou int main() { //code return 0; } ou int main(void) { //code return 0; } Alors, que devrais-je utiliser? ou quelle est la […]

Passer l’argument 1 élimine les qualificateurs du type cible de pointeur

Ma fonction principale est la suivante: int main(int argc, char const *argv[]) { huffenc(argv[1]); return 0; } Le compilateur renvoie l’avertissement: huffenc.c:76: warning: passing argument 1 of ‘huffenc’ discards qualifiers from pointer target type Pour référence, huffenc prend une entrée char* , et la fonction est exécutée, avec l’échantillon de saisie “insensé” via ./huffenc senselessness […]