ما هو الفرق بين كيفية تخزين أو ممثلي Char Datatype في 32 بت vs 64bit في ج؟

StackOverflow https://stackoverflow.com/questions/1526510

  •  20-09-2019
  •  | 
  •  

سؤال

ما هو الفرق بين كيفية تخزين أو ممثلي Char Datatype في 32 بت vs 64bit في ج؟

هل كانت مفيدة؟

المحلول

ليس هناك فرق.
واحد شير يحتل بايت واحد.
بايت واحد لديه بت char_bit.

#include <limits.h>
#include <stdio.h>

int main(void) {
    printf("a char occupies 1 byte of %d bits.\n", CHAR_BIT);
    return 0;
}

نصائح أخرى

إحدى الفرق المحتمل هو أن الأحفير قد تتماشى على حدود 64 بت بدلا من 32 بت.

struct {
  char a;
  char b;
}

قد تأخذ 2 * 4 بايت على 32 بت و 2 * 8 بايت على 64 بت.

تحرير - لن يفعل ذلك. أي كبراء عاقل يصدبون الهيكل بأحرف فقط على حدود البايت. ولكن إذا أضفت "طويل ج؛" في النهاية يمكن أن يحدث أي شيء. لهذا السبب أ) لديك Sizeof () و B) يجب أن تكون حذرا القيام بأشياء مؤشر يدوية في ج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top