C語言-char、_Bool和可移植int類型

  • char類型世紀演示int類型,C語言中用數字來表示字符,例如65代表大寫字母A。C語言1字節定義爲char類型佔用的位(bit)數。

         非打印字符

有一些字符無法打印出來不如何表示有兩種方法表示,一是用ASCLL碼,二是用轉義字符(轉義字符序列在下方);

打印字符的int值

代碼

#include<stdio.h>

int main(void)

{

    char ch;



    printf("Please enter a character.\n");

    scanf("%c",&ch);

    printf("The code for %c is %d.\n",ch, ch);

}

結果:

  • Bool類型

_Bool也屬於int類型,因爲C語言中用1代表true用0代表false

  • 可移植類型:stdint.c和inttypes.h

這兩個頭文件定義了精確寬度整數類型(例如int32_t,是32位的int)、最小寬度類型(int_least8_t,有符號整數型最小寬度類型的別名)和最快最小寬度類型(int_fast8_t,系統中對8位有符號整數運算最快的整數類型別名),同時還有一些其他的定義:

intmax_t:可存儲任何有效的有符號整數值。

uintmax_t:表示最大的無符號整數類型。

代碼:

/*altnames--可移植整數類型名*/

#include<stdio.h>

#include<inttypes.h>  //支持可移植類型

int main(void)

{

    int32_t me32;

   

    me32 = 45933945;

    printf("First, assume int32_t is int:");

    printf("me32 = %d\n", me32);

    printf("Next, let's not make any assumptions. \n");

    printf("Instead , use a \"macro\" from inttypes.h:");

    printf("me32 = %"  PRId32 "\n",me32);

   

    return 0;

}

結果中兩次的輸出的結果數字都是一樣的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章