«Бағдарламалау тілдері» пәнінен оқу тәжірибесі бойынша



бет25/63
Дата06.01.2022
өлшемі2,75 Mb.
#14335
1   ...   21   22   23   24   25   26   27   28   ...   63
Көрсеткіштерді баяндау. «Көрсеткіш» типті айнымалыны баяндағанда ол көрсеткіш қандай типті айнымалыға сілтеме жасап тұрғанын көрсету керек. Өйткені әр түрлі типті айнымалы жадыдан әр түрлі көлемде орын алады және де көрсеткіштермен байланысты кандай да бір операцияларды орындағанда жадыда бөлінетін орынның көлемін білу керек. Көрсеткіштерді дұрыс баяндау мысалдары:

Int*ptr;


Char*cptr;

Float-fptr;



Көрсеткіштерді функциялар арасындағы байланысты құру үшін қолдану. Көрсеткіштерді функциялар арасындағы байланысты құру үшін қолдануға мысал келтірейік. Бұл мысалда көр-сеткіштер айнымалылардың мәнін ауыстыру үшін қолданылады.

Маіn()


{

Іnt х=5,у=10;

Рrint f(«х=%d у=%d\n», х, у);

сһаnge(&х, &у); /*функция адрестерін беру*/

рrintf(«х=%d у=%d\n», х, у);

}

сһаngе(u, v)



іnt *u, *v; /*u және v көрсеткіш болып табылады*/

{

іnt temp;



temp=*u; /*temp-ке и көрсетіп тұрған мән меншіктеледі*/

*u=*v;


*v=temp;

}
Берілген функция х және у айнымалыларының мәнін өзгертеді. X және у айнымалыларының адресін функцияға беру арқылы біз оларға қол жеткізуге мүмкіндік бердік. Көрсеткіштерді және (*) операциясын қолданып функция жадыдағы сәйкес ұяшықтарда орналысқан шамаларды алуға және олардың орнын ауыстыруға мүмкіндік алды.


Сілтемелер

Сілтеме сілтемені инициалдау кезінде көрсетілген атаудың синонимі болып табылады. Сілтемені әрқашан да атаусызданатын (аты жойылып кететін) нұсқауыш ретінде қарастыруға болады. Сілтемені жариялаудың форматы: типі & аты;

Мұндағы тип – сілтеме нұсқап тұратын шаманың типі, & - сілтеме операторы, ол өзінен кейін жазылатын атау сілтемелік типті айнымалының аты екенін көрсетеді.

Мысалы,


1. Массивте 3 ноль емес сан бар.

#include

#include

#define SIZE 5

void main( )

{ int a[SIZE];

int n=0;

int i;


printf(“\nБүтін санды массивті енгіз.”);

printf(“Әрбір санды енгізген сайын -ді басыңыз\n”);

for( i=0; i

{ printf(“a[%i]->”,i+1);

scanf(“ %i ”, & a[i]);

if(a[i]!=0) n++;}

printf(“Массивте %i нолб емес сан бар.\n”,n);

printf(“\nАяқталу үшін -ді басыңыз”);

getch( );

}
2. a[i] және b[i] нақты сан типінен тұратын массивтер берілген. c[i]=a[i]-b[i] тап.

#include

main( )


{ float a[10], b[10], c[10];

int I;


for( i=1; i<=10; i++)

{scanf(“%f”,& a[i]);

scanf(“%f”,& b[i]);

c[i]=a[i]-b[i];

printf(“c=% f\n”, i, c[i]); }

return ‘0’;

}



Достарыңызбен бөлісу:
1   ...   21   22   23   24   25   26   27   28   ...   63




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет