Яка різниця між масивами символів та цілими масивами?


Відповідь 1:

Коротка відповідь. Масиви символів містять символи Цілий масив містить цілі числа. Більш довга відповідь: символи ASCII займають лише 1 байт на кожну локацію. Масив цілого числа може бути "слово" або 16 біт, "довге слово" 32 біта і "довге довге слово" 64 біт. Але інтерпретація розміру слова залежить від компілятора та компілятора. Арифметика символів завжди "не підписана". Хоча ціле число може бути підписане або без підпису залежно від декларації. Арифметика обох компліментів однакова для підписаних і неподписаних. Різне - тлумачення порівнянь ненаписаних та підписаних номерів. (Повна експлікація підписаних та непідписаних номерів на C див. У розділі "Комп'ютерні системи: перспектива програми" 3-го додатка, розділ 2.


Відповідь 2:

В основному, що один - це ряд символів, коли інший - це серія… ну… цілих чисел.

Річ у тому, що ... рядок або алфаритметика складається з серії символів, правда? Отже, символьний масив, по суті, є рядком / алфаритметикою.

Але ціле число, це ціле число. Так, він складається з цифр, але в комп'ютерній мові ми не розділяємо кожне число в цифрах. У нас є ціле число в цілому. Це тому, що двійкова логіка в основному "розмовляє" з цілими числами. Тому немає необхідності робити окремий тип для однієї цифри.

Також візьміть до уваги, що символом зазвичай є лише 1 байт (0 0 0 0 0 0 0) x1, тоді як ціле число зазвичай становить 2–4 байти (0 0 0 0 0 0 0 0) x4. Це тому, що ASCII забезпечує лише 2 ^ 1 байт, що становить 2 ^ 8 символів. Це 256 символів. Хоча деякі мови можуть використовувати UTF8, який може містити багато… МНОГО більше. Але символ UTF8 може змінюватися від 1–4 байтів (або в деяких випадках більше), і повинен бути алгоритм, який розшифровує, який символ з таблиці UTF8 це.