Qual è la dimensione del carattere in C e C++? Per quanto ne so, la dimensione del char è di 1 byte sia in C che in C++.Dimensioni del carattere ('a') in C/C++
#include <stdio.h>
int main()
{
printf("Size of char : %d\n",sizeof(char));
return 0;
}
#include <iostream>
int main()
{
std::cout<<"Size of char : "<<sizeof(char)<<"\n";
return 0;
}
Nessuna sorpresa, entrambi dà l'output: Size of char : 1
Ora sappiamo che i caratteri sono rappresentati come 'a'
, 'b'
, 'c'
, '|'
, ... così si può modificare i codici di cui sopra per questi:
In C:
#include <stdio.h>
int main()
{
char a = 'a';
printf("Size of char : %d\n",sizeof(a));
printf("Size of char : %d\n",sizeof('a'));
return 0;
}
Size of char : 1
Size of char : 4
In C++ :
#include <iostream>
int main()
{
char a = 'a';
std::cout<<"Size of char : "<<sizeof(a)<<"\n";
std::cout<<"Size of char : "<<sizeof('a')<<"\n";
return 0;
}
Size of char : 1
Size of char : 1
Perché i sizeof('a')
restituisce diversi valori in C e C++?
Il ' "% |"' formato richiede un argomento 'int' (o qualcosa che promuove a 'int'). 'sizeof' produce un risultato di tipo' size_t'. Converti in 'int' usando un cast o, se la tua implementazione lo supporta, usa' "% zu" '. –