wchar_t
הוא טיפוס נתונים לשמירת buffer של מחרוזות טקסט, רק שבשונה מ char שתופס byte אחד, wchar_t תופס שני בתים. בספרייה הסטנדרטית של c יש header שנקרא String.h, הוא מכיל את ההגדרה:
typedef unsigned short wchar_t;
הסיבה לשימוש ב wchar_t היא שבטיפוס נתונים זה כל תו תופס שני בתים ולכן ניתן לייצג בו יותר מ 256 תווים שונים, ניתן לכן לתמוך באותיות בכל השפות שקיימות כמו יפנית עברית וכו', והכל בסט אחד. (מה שנקרא unicode) הפונקציות שמשמשות את wchar_t שונות טיפה מאלו שמשמשות את char, לדוגמא במקום strcpy, יש לכתוב wcscpy.