++C اجازه میدهد که پیش از نوع دادههای char، int و double از ویرایشگرها (modifier) استفاده کنیم. یک ویرایشگر برای تغییر معنای نوع داده پایهای به کار میرود تا برای شرایط مختلف مورد نیاز متناسب تر شود.
ویرایشگرهای نوع داده در زیر لیست شده اند:
- signed
- unsigned
- long
- short
ویرایشگرهای signed، unsigned، long و short برای نوع داده پایهای integer به کار میروند. علاوه بر آن، signed و unsigned را میتوان برای char و long را میتوان برای double هم به کار گرفت.
++C برای integer unsigned، short یا long یک علامت مخفف هم فراهم کرده است. میتوان کلمات unsigned، short یا long را بدون int هم به کار برد. Int به صورت خودکار اعمال میشود. برای مثال، هر دو عبارات زیر یک متغیر unsigned integer را اعلان میکنند.
unsigned x; unsigned int y;
برای درک تفاوت بین اینکه ++C چگونه ویرایشگرهای signed و unsigned integer را میفهمد، برنامه کوتاه زیر را اجرا کنید.
#include <iostream> using namespace std; /* This program shows the difference between * signed and unsigned integers. */ int main() { short int i; // a signed short integer short unsigned int j; // an unsigned short integer j = 50000; i = j; cout << i << " " << j; return 0; }
با اجرای برنامه خروجی زیر بدست میآید.
-15536 50000
این خروجی به این دلیل بدست آمد که الگوی بیتی که 50000 را به عنوان short unsigned integer بیان میکند، برای short به صورت 15,536- تفسیر میشود.
توصیف کننده نوع داده در ++C
توصیف کننده های نوع داده (type qualifier)، اطلاعات تکمیلی راجع به متغیری که پس از آنها میآید را فراهم میکنند.
ردیف |
توصیف کننده و معنی آن |
1 |
const: اشیا از نوع const را نمیتوان هنگام اجرای برنامه تغییر داد. |
2 |
volatile: ویرایشگر volatile به کامپایلر اعلام میکند که مقدار متغیر ممکن است به شکلی تغییر کند که در برنامه تصریح نشده است. |
3 |
restrict: اشارهگری که با restrict توصیف میشود، ابتدائاً تنها وسیلهی دسترسی به شی است که به آن به اشاره دارد. تنها C99 توصیف کننده نوع restrict را اضافه کرده است. |
منبع: ترجمه از سایت tutorialspoint.com
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.
کاش مثالی هم میزدی ولی تابحال وبسایتی ایرانی ندیدم ک به اندازه شما اینقدر تو برنامه نویسی programming عمیق شده باشه باتشکر از همه تون.
موفق و موید باشید