Меммове() у Ц и Ц++

Memmove U C I C



Данас ћемо научити једну од важних функција језика Ц и Ц++, а то је функција меммове(). Али пре тога, хајде да на брзину погледамо основе језика Ц и Ц++. Такође ћемо разговарати о томе које су функције у оба Ц/Ц++ језика.

Програмски језик Ц је лак и прилично ефикасан за све сврхе. Са њим је могућа имплементација софтвера као што су Виндовс ОС, базе података, тумачи и други алати. Ц је одличан језик за почетнике да науче кодирање. Због тога је Ц програмирање познато као матерњи језик јер служи као основа за све друге рачунарске језике. Основа програмског језика Ц++ заснива се на идејама објектно оријентисаног програмирања (ООП). Корисник може лако да развије и разуме принципе програма јер Ц++ има јасну структуру. Програмски језик Ц\Ц++ је изузетно свестран у обављању више функција и пребацивању променљиве са једног типа на други. Функција меммове() је једна од функција Ц/Ц++.







Функција меммове() преноси „број“ бајтова истовремено из садржаја меморијског блока који је назначен од стране извора ка локацији назначеној одредиштем. Функција меммове() је корисна само када се изворни и одредишни објекти преклапају и зауставља недефинисано понашање. Да бисте сазнали више о функцији меммове(), хајде да копамо дубоко и видимо како да применимо синтаксу и примере у функцији меммове().



Синтакса:

Ево истог стила писања и имплементације функције меммове() за Ц и Ц++ језике. Прво, пишемо кључну реч „воид“ што значи да ако функција не врати никакву вредност, пишемо име функције коју желимо да имплементирамо, а то је функција меммове(). У заградама функције пишемо одредиште тако да можемо да поставимо „број“ бајтова са кључном речи „воид“. Затим пишемо изворну локацију одакле добијамо „број“ бајтова.







Параметри:

рука: Адреса локације за складиштење у коју се подаци копирају.

срц: Адреса локације за складиштење са које се подаци копирају.



рачунати: Количина података за копирање од извора до одредишта.

Повратна вредност:

Заузврат, добијамо адресу циљне меморијске области. Дест враћа функција меммове().

Пример 1: Имплементација функције Меммове() у Ц

Почнимо са имплементацијом нашег првог и једноставног примера језика Ц. Да бисмо почели да пишемо, прво нам је потребан Ц компајлер како бисмо могли да напишемо и извршимо програм. За то отворите Ц компајлер и почните да имплементирате програм.

#инцлуде <стдио.х>
#инцлуде <стринг.х>

инт маин ( )
{
цхар цх1 [ ] = { 'Л' , 'ја' , 'н' , 'у' , 'Икс' } ;

инт дужина = сизеоф ( цх1 ) / величина ( цх1 [ 0 ] ) ;

принтф ( „Пре примене функције меммове(): „ ) ;
за ( инт и = 0 ; и < дужина; и++ )
{
принтф ( '%ц' , цх1 [ и ] ) ;
}

цхар * цх2 = & цх1 [ два ] ;
меммове ( цх2, цх1, сизеоф ( цхар ) * два ) ;

принтф ( ' Након примене функције меммове(): ' ) ;

за ( инт и = 0 ; и < 5 ; и++ )
{
принтф ( '%ц' , цх1 [ и ] ) ;
}
повратак 0 ;

}


Увек почињемо са уградњом основних програмских модула након покретања компајлера. Ови модули су повезани модули језика Ц. Једноставно треба да откуцамо једну линију кода да бисмо укључили ове модуле, за разлику од десетина линија кода за конструисање модула. Индикатор „#“ обавештава преводиоца да прво учита модул пре него што употреби кључну реч „инцлуде“ за додавање модула у програм. Модул “стдио.х” значи да компајлер прихвата податке од корисника и показује их кориснику. Други модул програма је “#инцлуде <стринг.х>” тако да можемо користити функције везане за стрингове у постојећем програму.

Затим покрећемо функцију маин() тако да можемо написати стварну линију кода коју желимо да имплементирамо у програм. У реду 6, декларишемо име низа знакова „цх1“ типа карактера. Затим му додељујемо вредност знака. Након тога израчунавамо дужину „цх1“ и штампамо улазни низ „цх1“ користећи „фор петљу“.

Након тога, декларишемо показивач на „цх2“ низ карактера типа и додељујемо адресу низа „цх1“ низу „цх2“. Затим га штампамо помоћу наредбе принтф(). Погледајмо резултат претходне илустрације:

Пример 2: Имплементација функције Меммове() у Ц++

Ево основног примера који показује како функција меммове() функционише у језику Ц++. Да бисмо почели да пишемо, прво нам је потребан Ц++ ИДЕ да бисмо могли да пишемо и извршавамо програм. За то отворите Ц++ компајлер и почните да имплементирате програм.

Након отварања компајлера, увек почињемо тако што ћемо укључити датотеке заглавља које су неопходне за програмски језик Ц++ за покретање програма. Да бисмо направили програм и користили метод меммове(), прво укључујемо две основне датотеке заглавља – „иостреам“ и „цстринг“. Ц++ пружа неколико начина за рад са низовима и стринговима. Ове функције су доступне за коришћење када је датотека заглавља укључена у програм са датотеком заглавља „#инцлуде  <цстринг>“ која се користи за копирање одређеног броја бајтова података од извора до одредишта. Датотека заглавља „#инцлуде <иостреам>“  се користи и за унос и за излаз података од корисника. Затим користимо стандардни „намеспаце стд“ у нашем коду да користимо стандардну синтаксу програмског језика Ц++ како бисмо спречили да објекти, методе и параметри упућују на исти опсег у целом програму.

#инцлуде <иостреам>
#инцлуде <цстринг>
користећи простор имена стд;

инт маин ( )
{
цхар срц [ педесет ] = '1234567890' ;
цхар дест [ педесет ] = '0987654321' ;

цоут << 'Пре него што примените мемове на одредиште: ' << почетак << ендл;
меммове ( дест, срц, 6 ) ;
цоут << 'Након примене мемове на одредиште: ' << руке

повратак 0 ;
}


Почињемо да пишемо функцију маин() да бисмо започели извршавање стварне линије кода. У реду 7 налази се низ типа од два знака дужине 50 који је декларисан као „срц[50]“ и „дест[50]“. Користимо наредбу „цоут“ за штампање поруке „Пре примене меммове() на одредиште: ”. Затим прослеђујемо параметар „дест“ да бисмо одштампали вредност низа „дест“. Затим, функција меммове() се примењује на променљиву типа карактера декларисану као „срц[50]” и „дест[50]” да би се преклапао одређени број бајтова од почетка (срц) до циља (дест) са број „броја“. Ово идентификује број бајтова који се копирају из „срц“ у „дест“. Као што можете видети на следећој илустрацији, декларисали смо број „6“.

Након тога, поново користимо наредбу “цоут” да прикажемо поруку, “Након примене меммове() на одредиште: “, и проследимо низ променљиве “дест” типа “цхарацтер”. Да бисмо зауставили покретање програма, морамо користити повратну изјаву на крају програма. Затим враћамо 0 главној функцији, што указује да је програм успешно извршен и да је постигао свој циљ.

У следећем излазу методе меммове() можете видети да ако постоји преклапање, на пример, када се почетни показивач помери на слово 6, показивач наставља да се штампа и следећи знакови ће се преклапати. Овај Ц++ исечак кода је покренут и резултати су приказани на следећој слици:

Закључак

У овом чланку смо научили о функцији меммове() у програмским језицима Ц и Ц++. Разговарали смо о томе како функција меммове() функционише кроз пример Ц и Ц++ са детаљним објашњењем сваке линије кода. Надамо се да ће вам овај чланак бити од помоћи у развоју вашег знања о функцији меммове() у Ц и Ц++.