Articles of sizeof

Est-ce que C gère correctement la taille de (…) et la tailleof… dans ce cas?

Dans le code suivant, les fonctions sont-elles test et test2 équivalentes? typedef int rofl; void test(void) { rofl * rofl = malloc(sizeof(rofl)); // Is the final rofl here the TYPE? } void test2(void) { rofl * rofl = malloc(sizeof *rofl); // Is the final rofl here the VARIABLE? } En d’autres termes: Est-ce que rofl […]

Sizeof vs Strlen

#include “stdio.h” #include “ssortingng.h” main() { char ssortingng[] = “october”; // october is 7 letters strcpy(ssortingng, “september”); // september is 9 letters printf(“the size of %s is %d and the length is %d\n\n”, ssortingng, sizeof(ssortingng), strlen(ssortingng)); return 0; } Sortie: la taille de septembre est de 8 et la longueur est de 9 Y a-t-il […]

Pourquoi sizeof (BaseClass) == sizeof (DerivedClass) bien que j’ajoute un membre

À partir du code ci-dessous sizeof(Base) == 24 et sizeof(Derived) == 24 . Pourquoi leurs tailles sont-elles égales? Dans la classe de Base , nous avons 3 membres et dans la classe Derived , nous avons un autre membre. class Base { private: double d; protected: long l; public: int i; }; class Derived : […]

sizeof (int) sur x64?

Quand je fais sizeof(int) dans mon projet C # .NET, je reçois une valeur de retour de 4. Je définis le type de projet sur x64, alors pourquoi dit-il 4 au lieu de 8? Est-ce parce que j’exécute du code géré?

Comment fonctionne la fonction de modèle «taille du tableau»?

Dupliqués possibles: Quelqu’un peut-il expliquer ce code de modèle qui me donne la taille d’un tableau? Des arguments magiques dans les modèles de fonction… Quelqu’un peut-il expliquer comment ce code fonctionne? Je sais que le but de ce code est d’obtenir la longueur d’un tableau, mais je ne sais pas comment fonctionne ce code: template […]

Dans C, pourquoi sizeof (char) 1, quand ‘a est un int?

j’ai essayé printf(“%d, %d\n”, sizeof(char), sizeof(‘c’)); et obtenu 1, 4 en sortie. Si la taille d’un personnage est un, pourquoi ‘c’ me donne 4? Je suppose que c’est parce que c’est un entier. Donc, quand je fais char ch = ‘c’; Y a-t-il une conversion implicite qui se produit, sous le capot, de cette valeur […]

Mécanisme interne de taille en C?

J’utilise sizeof pour obtenir la taille d’une structure en C, mais le résultat est inattendu. struct sdshdr { int len; int free; char buf[]; }; int main(){ printf(“struct len:%d\n”,(sizeof(struct sdshdr))); return 0; } //struct len:8, with or without buf Ma question est la suivante: pourquoi buf n’occupe-t-il aucun espace et pourquoi la taille du type […]

Comportement déroutant de sizeof avec des caractères

#include #include int main(void) { char ch=’a’; printf(“sizeof(ch) = %d\n”, sizeof(ch)); printf(“sizeof(‘a’) = %d\n”, sizeof(‘a’)); printf(“sizeof(‘a’+’b’+’C’) = %d\n”, sizeof(‘a’+’b’+’C’)); printf(“sizeof(\”a\”) = %d\n”, sizeof(“a”)); } Ce programme utilise sizeof pour calculer les tailles. Pourquoi la taille de ‘a’ différente de la taille de ch (où ch=’a’ )? sizeof(ch) = 1 sizeof(‘a’) = 4 sizeof(‘a’+’b’+’C’) = 4 […]

Can sizeof renvoie 0 (zéro)

Est-il possible que l’opérateur sizeof retourne jamais 0 (zéro) en C ou en C ++? Si c’est possible, est-ce correct du sharepoint vue des normes?

Quelle est la taille d’un pointeur?

La taille d’un pointeur est-elle la même que celle du type sur lequel il pointe, ou les pointeurs ont-ils toujours une taille fixe? Par exemple… int x = 10; int * xPtr = &x; char y = ‘a’; char * yPtr = &y; std::cout << sizeof(x) << "\n"; std::cout << sizeof(xPtr) << "\n"; std::cout << […]