Біз C тілінде статикалық және ұшпаны бірге пайдалана аламыз ба?
Біз C тілінде статикалық және ұшпаны бірге пайдалана аламыз ба?

Бейне: Біз C тілінде статикалық және ұшпаны бірге пайдалана аламыз ба?

Бейне: Біз C тілінде статикалық және ұшпаны бірге пайдалана аламыз ба?
Бейне: ТЫ ЗАБУДЕШЬ О ЗАПОРЕ СЛЕДУЯ ЭТИМ РЕКОМЕНДАЦИЯМ. С этим сталкивается большинство людей. 2024, Наурыз
Anonim

Статикалық айнымалылар функция шақырулары арасында өз мәнін сақтайды. Ұшқыш айнымалылар (бұл керісінше емес статикалық ) болып табылады пайдаланылады айнымалы болғанда пайдаланылады ISR (қызметті үзу тәртібі) ішінде де, оның сыртында да. Ұшқыш компиляторға айнымалы мәнді CPU тіркелімінде кэштеуден гөрі, әрқашан жедел жадтан жүктеу керектігін айтады.

Сол сияқты, біз статикалық және ұшпаны бірге пайдалана аламыз ба?

Егер де сен қол жеткізу а статикалық әр ағын, бірнеше ағындар арқылы мән алады оның жергілікті кэштелген көшірмесі бар! Бұған жол бермеу үшін сен істей аласың айнымалыны ретінде жариялаңыз статикалық тұрақсыз және осы ерік жіпті жаһандық мән сайын оқуға мәжбүрлейді. Дегенмен, өзгермелі дұрыс синхрондауды алмастыра алмайды!

Сол сияқты, неге біз C тілінде ұшпаны пайдаланамыз? С тұрақсыз кілт сөз айнымалыға жарияланған кезде қолданылатын жіктеуіш болып табылады. Ол компиляторға айнымалы мәннің кез келген уақытта өзгеруі мүмкін екенін айтады - компилятор жақын жерде тапқан кодпен ешқандай әрекетсіз. Мұның салдары өте ауыр.

Осыны ескере отырып, C тілінде статикалық ұшпа нені білдіреді?

статикалық айнымалының ауқымын білдіреді. Егер айнымалы жаһандық болса, бұл аумақ ол жарияланған бастапқы файлмен шектелгенін білдіреді. Егер айнымалы жұмыс істеу үшін жергілікті болса, бұл айнымалы мәнді сақтау үшін пайдаланылатын жад қолданбаның статикалық түрде бөлінген жадында екенін білдіреді.

Біз C тілінде const-ті ұшқышпен пайдалана аламыз ба?

Иә. Айнымалы алады екеуі деп жарияланады өзгермелі және тұрақты ішінде C . Const модификатор айнымалының мәнін ішкі бағдарлама арқылы өзгертуге мүмкіндік бермейді. Бірақ бұл құндылықты білдірмейді const айнымалы сыртқы кодпен өзгертілмеуі керек.

Ұсынылған: