Göstericiler(Pointers)-2
Açıklama: Gösterici
tanımlaması nasıl yapılır?özet.
Göstericilerde bir nesne
olduğu için bellekte
yer kaplar. Bellekte
kapladıkları uzunluk nedir?
Gösterici değişkenlerin
uzunlukları?
Gösterici değişkenlerin
uzunlukları türden bağımsız mıdır?
Göstericilere adres
sabitleri atanabilir mi?
Göstericilerin birbirlerine
atanması.
Gösterci değişkenlere nesne
adresleri nasıl atanır?
/* Açıklama: Gösterici
tanımlaması nasıl yapılır?özet.
* Göstericilerde bir nesne olduğu için
bellekte
* yer kaplar. Bellekte kapladıkları uzunluk
nedir?
* Gösterici değişkenlerin uzunlukları?
* Gösterici değişkenlerin uzunlukları türden
bağımsız mıdır?
* Göstericilere adres sabitleri atanabilir mi?
* Göstericilerin birbirlerine atanması.
* Gösterci değişkenlere nesne adresleri nasıl
atanır?
*/
#include <stdio.h>
#include
<stdlib.h>
int main(void) {
//gösterici tanımlaması
{
//<tür> <nesne_adi>;
//nesne tanımlama
//<tür> *<gösterici_ismi>;//gösterici
tanımlama
char ch = 'A';
char *pCh; //pCh bir
nesnedir. Gösterii bellekte yer kaplar.
float *pTotal;
double *pTotalMoney;
int *pCount;
}
/* Gösterici değişkenlerin uzunlukları
donanım bağımlıdır.
*
Uzunluklar türden bağımsızdır.
*/
{
//göstericiler donanım bağımlı uzunluğa
sahiptir.
// 32 bit sistemlerde 4 byte yer
kaplar
// 16 bit sistemlerde 2 byte yer
kaplar.
// 64 bit sistemlerde 8 byte yer
kaplar
//göstericilerin uzunluğu türden bağımısızdır.
char ch = 'A';
char *pCh; // char
tipinden gösterici
int total = 10;
int *pTotal;
double totalMoney = 0;
double *pTotalMoney;
printf("sizeof(ch)
= %d\n", sizeof(ch));
printf("sizeof(pCh)
= %d\n", sizeof(pCh));
printf("sizeof(total)
= %d\n", sizeof(total));
printf("sizeof(pTotal)
= %d\n", sizeof(pTotal));
printf("sizeof(totalMoney)
= %d\n", sizeof(totalMoney));
printf("sizeof(pTotalMoney)
= %d\n", sizeof(pTotalMoney));
}
/* Adres Sabitleri(Değişmezleri):
*
Adres sabitleri genelde gömülü sistemlerde kullanılır.
*/
{
int a = 100;
int *pA = (int *)100;
int *comPortAddr = (int *)0x100;
}
//Göstericiler bir birine atanabilir
{
int *pA = (int *)0x100; //int tipinden
bir gösterici
char *pCh; // char tipinde
gösterici
pCh = (char *)pA;
}
//Nesne adreslerinin göstericilere
atanması
{
int a = 10;
int *pA = &a;
}
return EXIT_SUCCESS;
}
Hiç yorum yok:
Yorum Gönder