亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C/C+中字符(A)的大小

C/C+中字符(A)的大小

C++ C
夢里花落0921 2019-06-21 17:10:56
C/C+中字符(A)的大小C和C+中字符的大小是多少?據我所知,C和C+中字符的大小都是1字節。在C中:#include <stdio.h>int main(){   printf("Size of char : %d\n",sizeof(char));   return 0;}在C+中:#include <iostream>int main(){   std::cout<<"Size of char : "<<sizeof(char)<<"\n";   return 0;}沒有任何意外,它們都給出了輸出:Size of char : 1現在我們知道字符被表示為'a','b','c','|'.。所以我把上面的代碼修改為:在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 : 1Size of char : 4在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 : 1Size of char : 1為什么sizeof('a')在C和C+中返回不同的值?
查看完整描述

3 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

在C中,字符的類型常量喜歡'a'實際上是int,大小為4(或其他一些依賴于實現的值)。在C+中,類型是char這是兩種語言之間許多小差異之一。


查看完整回答
反對 回復 2019-06-21
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

正如保羅所說,這是因為'a'intC,但achar在C+中。

我在幾年前寫的文章中介紹了C和C+之間的具體區別,在:http://david.tribble.com/text/cdiffs.htm


查看完整回答
反對 回復 2019-06-21
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

在C語言中,字符的類型是INT焦耳在C+中。這在C+中是必需的支撐功能過載..參見此示例:

void foo(char c){
    puts("char");}void foo(int i){
    puts("int");}int main(){
    foo('i');
    return 0;}

產出:

char


查看完整回答
反對 回復 2019-06-21
  • 3 回答
  • 0 關注
  • 762 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號