<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های Farhan</title><link>https://virgool.ir/feed/@Farhan01</link><description></description><language>fa</language><pubDate>2026-11-13 00:38:26</pubDate><image><url>https://files.virgool.ir/upload/users/53468/avatar/avatar.png</url><title>Farhan</title><link>https://virgool.ir/@Farhan01</link></image><item><title>چرا نام یک متغییر در C با عدد شروع نمیشود ؟</title><link>https://virgool.ir/@Farhan01/چرا-نام-یک-متغییر-در-c-با-عدد-شروع-نمیشود-vkacljmuxkre</link><description>در زبان برنامه نویسی سی به غیر از کلمات کلیدی (keywords) همه چیز به عنوان شناسه (Identifier) در نظر گرفته می شودشناسه  ها (Identifier) می توانند نام هایی باشند که به متغیرها، ثابت ها، توابع و داده های  تعریف شده توسط کاربر داده می شود نام متغیر می تواند شامل حروف الفبا  (حروف بزرگ، کوچک) اعداد (0-9) و نویسه _ (زیر خط) باشد اما نام هیچ  متغیری نباید با عدد شروع شودحال دلیل آن چیست که نام یک متغییر نمیتواند با عدد شروع شودکامپایلر دارای 7 فاز (مرحله) به شرح زیر استLexical AnalysisSyntax AnalysisSemantic AnalysisIntermediate Code GenerationCode OptimizationCode GenerationSymbol Tableدر مرحله تحلیل واژه ای (Lexical Analysis) در حین کامپایل کردن کد از بازگشت به عقب اجتناب می شود برای مثال متغیری مانند Apple را در نظر بگیرید کامپایلر بلافاصله زمانی که در مرحله تحلیل واژه ای  با کاراکتر A روبرو شود آن را به عنوان یک شناسه می شناسد اما در متغییری مانند 123apple که با عدد شروع شده کامپایلر نمی تواند تصمیم بگیرد که عدد یا شناسه  است تا زمانی که به  &#34;a&#34; نرسیده است برای رفتن به مرحله تحلیل واژگانی برای  تشخیص اینکه یک متغیر است به عقبگرد نیاز دارد اما در کامپایلر پشتیبانی  نمی شودهنگامی  که Tokens را تجزیه می کنید، فقط باید به اولین کاراکتر نگاه کنید تا مشخص  کنید که آیا یک شناسه است یا literal و سپس آن را برای پردازش به تابع  صحیح ارسال کنید بنابراین این (شروع نشدن نام متغییر با عدد) برای بهینه سازی عملکرد استلینک های مرتبط :منبع زبان اصلی - geeksforgeeksکلمات کلیدی در C - جادیکمپایلر چیست چگونه کار میکند - فرادرس</description><category>Farhan</category><author>Farhan</author><pubDate>Mon, 11 Jul 2022 12:07:57 +0430</pubDate></item></channel></rss>