Déclarant la variable bool en c sur une plateforme linux
Comment déclarer une variable du type de données bool en C cours d'exécution sur une plateforme Linux. J'ai essayé ce qui suit, mais sa donne une erreur:
#include<stdio.h>
#include<string.h>
bool factors[1000]
void main()
{
}
void main()? Vraiment?
qu'est-ce que le mal?
qu'est-ce que le mal?
OriginalL'auteur Khushboo | 2010-08-12
Vous devez vous connecter pour publier un commentaire.
Vous avez simplement besoin
#include <stdbool.h>
.OriginalL'auteur Potatoswatter
C n'ont pas de
bool
type. Vous pouvez utiliserint
au lieu de cela, à l'aide de 0 pourfalse
et 1 pourtrue
.C99 n'ont bool. #include <stdbool.h>
Oui, C N'ont un type bool. C'est Bool, et peut être utilisé en faisant #include <stdbool.h>. Rappelez-vous, C99 _IS C.
Gaebel: nop, c'est _Bool, et si vous incluez stdbool.h vous obtenez une macro appelée bool.
J'ai tapé _Bool... il a interprété le trait de soulignement comme démarque et fait mon truc italique =/
OriginalL'auteur Michael Kristofik
Si un type n'est pas défini dans votre environnement, vous pouvez définir ses propres types de bool, par exemple
OriginalL'auteur user411313
unsigned char est généralement un meilleur choix pour un bool qu'un int, surtout si vous allez avoir un tableau de 1000 d'entre eux. Si elle mise en œuvre dépend comment grand un unsigned char est et comment le tableau sera rempli.
Vous avez raison que la vitesse d'accès sera généralement un peu plus lent, mais l'importance de l'accès de la vitesse dépend de la fréquence et de la façon dont le tableau est accessible. Les économies de mémoire peut être beaucoup plus important. Si vous êtes à la CPU limité ou limitée par la mémoire est quelque chose à considérer. Ma conjecture est qu'il est plus probable que la différence dans la vitesse d'accès ne seront pas remarqué, mais la mémoire supplémentaire pris par le tableau sera remarqué. Tout dépend de votre scénario d'utilisation.
OriginalL'auteur david
En C99, il est un type bool. Mais je me demande pourquoi vous ne pouvez pas écrire votre code en C++. Vous n'avez pas besoin d'utiliser toutes les avancées de la programmation orientée objet fonctionnalités de C++. Vous pouvez écrire "C" style code et le compiler avec un compilateur C++.
C++ n'est pas un substitut pour C. Voir => variable de tableaux de longueur, variadic macros, snprintf, désigné initialise.
Je ne vais pas downvote parce que vous êtes nouveau, mais en général, vous ne devez pas suggérer à quelqu'un de changer leur langue, même à partir de C à C++.
Je pense que le sens commun devrait être valable aussi ici à débordement de pile. Aujourd'hui, il n'y a pas de raison de continuer à écrire du code en C Ansi, à moins que les très limitée et cas particuliers (mantain du code legacy, systèmes embarqués, etc...). J'ai pensé que ce qui suggère Khushboo (qui n'est pas un très programmeur expérimenté) à étudier la possibilité d'écrire son code en C++ n'est pas une mauvaise idée. Je suis désolé si j'ai eu tort.
OriginalL'auteur mp.