متغير محرفي (حوسبة)
{{يتيمة|تاريخ=نوفمبر 2017}}
'''تشار''' {{إنج|char}} في [[لغة برمجة|لغة البرمجة]] هو نوع من البيانات، في وثائق [[بوزيكس]] تم تعريف «التشار» على انه سلسلة متكونة من [[بايت]] أو أكثر لتشكل [[محرف (حوسبة)|محرف]]، ومع ذلك بقي مصطلح '''تشار''' نوع من [[البيانات (الحوسبة)|البيانات]] بحجم 8 [[بت]] في العديد من لغات البرمجة مثل [[سي++|C + +]] ونفس الشيء لـ C سي <ref>''[http://ftp.gwdg.de/pub/misc/x86.org/manuals/686/iatips.pdf ‘C’ Coding Techniques for Intel Architecture Processors]''- Intel Corporation، اطلع عليه بتاريخ 16-08-2014 {{وصلة مكسورة|تاريخ= مايو 2019 |bot=JarBot}} {{Webarchive|url=https://web.archive.org/web/20200126161754/http://ftp.gwdg.de/pub/misc/x86.org/manuals/686/iatips.pdf |date=26 يناير 2020}}</ref> ، لغات أخرى مثل [[جافا (لغة برمجة)|جافا]] التشار يستخدم 16 بت.<ref>''[https://docs.oracle.com/javase/7/docs/api/java/lang/Character.html Character]''-docs.oracle، اطلع عليه بتاريخ 16-08-2014 {{Webarchive|url=https://web.archive.org/web/20171224123529/https://docs.oracle.com/javase/7/docs/api/java/lang/Character.html |date=24 ديسمبر 2017}}</ref>

التشار قد يكون كبيرة بما يكفي لاحتواء أي محرف.<ref>''[http://bcbjournal.org/special_issue/bcbj_vol14_num5.3.pdf?PHPSESSID=043e57c5877e2fbe7a268b978cf04e09 Migrating to Unicode, Part I]''- Josh Kelley، اطلع عليه بتاريخ 16-08-2014 {{Webarchive|url=https://web.archive.org/web/20200126114606/http://bcbjournal.org/special_issue/bcbj_vol14_num5.3.pdf?PHPSESSID=043e57c5877e2fbe7a268b978cf04e09 |date=26 يناير 2020}}</ref> تاريخيا كانت المحارف تخزن في بايت واحد، سبب هذا قيود عند زيادة الرموز في الحاسوب، استعمل أكثر من تشار واحد ليمثل الرموز و المحارف لكن أدى إلى خلط بين المصطلحات ( تشار سلسلة بايتات) أو ( تشار حجمه 1 بايت )
.<ref>''[https://www.iar.com/Global/Resources/Developers_Toolbox/C_Cplusplus_Programming/Preprocessor%20directives%20What%20became%20of%20my.pdf - by Hans Walheim, IAR Systems ]''، اطلع عليه بتاريخ 16-08-2014 {{وصلة مكسورة|date= فبراير 2018 |bot=JarBot}} {{Webarchive|url=https://web.archive.org/web/20120816211438/http://www.iar.com/Global/Resources/Developers_Toolbox/C_Cplusplus_Programming/Preprocessor%20directives%20What%20became%20of%20my.pdf |date=16 أغسطس 2012}}</ref> هذا ما يجعل الكثير من الوثائق مربكة أو مضللة عندما تستخدم تشار متعدد البايتات للتعامل مع المحارف.
== التعامل مع تشار ==
في لغة مثل C والباسكال، يتم تخزين الرموز في سلاسل من تشار لتكوين الجمل النصية وأخر بايت من الجملة يحمل قيمة "0" للدلالة على نهاية النص. يتم الوصول وتغيير المحارف بواسطة [[مؤشر (برمجة)|المؤشرات]] ويمكن كذلك استخدام [[مصفوفة (حوسبة)|المصفوفة]].

== أمثلة ==
=== تشار في لغة البرمجة سي C ===
في سي C تشار عبارة عن 8 بت وهو قيمة رقمية، يعطيها القدرة على تمثيل كل رموز أسكي من 0 إلى 255.
<syntaxhighlight lang="c">
char ch = 'a';
printf("%d", ch);
</syntaxhighlight>
الشار لا يحمل نص، لكن يمكن هذا عند استعماله كمصفوفة أو مؤشر
الإعلان عنه كمصفوفة :
<syntaxhighlight lang="c">
char mydata[] = "salam";
</syntaxhighlight>
كيفية الإعلان عنه كمؤشر
<syntaxhighlight lang="c">
char *p = "salam";
</syntaxhighlight>
تشار يستطيع حمل رمز واحد فقط :
<syntaxhighlight lang="c">
char mydata;
mydata = 'x';
</syntaxhighlight>

=== تشار في الجافا ===
في الجافا تشار عبارة عن 16 بت وهو قيمة رقمية، يعطينا القدرة على تمثيل كل رموز يونيكود.
<syntaxhighlight lang="java">
char choice='س';
System.out.println(choice); 
</syntaxhighlight>
يتم التعامل مع الجمل والنصوص بمتغير أخز.

== مراجع ==
{{مراجع}}

{{شريط بوابات|برمجة الحاسوب}}

[[تصنيف:أنواع البيانات]]
تشار  في لغة البرمجة هو نوع من البيانات، في وثائق بوزيكس تم تعريف «التشار» على انه سلسلة متكونة من بايت أو أكثر لتشكل محرف، ومع ذلك بقي مصطلح تشار نوع من البيانات بحجم 8 بت في العديد من لغات البرمجة مثل C + + ونفس الشيء لـ C سي ‘C’ Coding Techniques for Intel Architecture Processors- Intel Corporation، اطلع عليه بتاريخ 16-08-2014   ، لغات أخرى مثل جافا التشار يستخدم 16 بت.Character-docs.oracle، اطلع عليه بتاريخ 16-08-2014 

التشار قد يكون كبيرة بما يكفي لاحتواء أي محرف.Migrating to Unicode, Part I- Josh Kelley، اطلع عليه بتاريخ 16-08-2014  تاريخيا كانت المحارف تخزن في بايت واحد، سبب هذا قيود عند زيادة الرموز في الحاسوب، استعمل أكثر من تشار واحد ليمثل الرموز و المحارف لكن أدى إلى خلط بين المصطلحات ( تشار سلسلة بايتات) أو ( تشار حجمه 1 بايت )
.- by Hans Walheim, IAR Systems ، اطلع عليه بتاريخ 16-08-2014   هذا ما يجعل الكثير من الوثائق مربكة أو مضللة عندما تستخدم تشار متعدد البايتات للتعامل مع المحارف.
 التعامل مع تشار 
في لغة مثل C والباسكال، يتم تخزين الرموز في سلاسل من تشار لتكوين الجمل النصية وأخر بايت من الجملة يحمل قيمة "0" للدلالة على نهاية النص. يتم الوصول وتغيير المحارف بواسطة المؤشرات ويمكن كذلك استخدام المصفوفة.

 أمثلة 
 تشار في لغة البرمجة سي C 
في سي C تشار عبارة عن 8 بت وهو قيمة رقمية، يعطيها القدرة على تمثيل كل رموز أسكي من 0 إلى 255.
char ch = 'a';
printf("%d", ch);
الشار لا يحمل نص، لكن يمكن هذا عند استعماله كمصفوفة أو مؤشر
الإعلان عنه كمصفوفة :
char mydata[] = "salam";
كيفية الإعلان عنه كمؤشر
char *p = "salam";
تشار يستطيع حمل رمز واحد فقط :
char mydata;
mydata = 'x';

 تشار في الجافا 
في الجافا تشار عبارة عن 16 بت وهو قيمة رقمية، يعطينا القدرة على تمثيل كل رموز يونيكود.
char choice='س';
System.out.println(choice); 
يتم التعامل مع الجمل والنصوص بمتغير أخز.

 مراجع 

تصنيف:أنواع البيانات