Ni pointer ya kufanya kazi kuelezea nini kwa mfano?
Ni pointer ya kufanya kazi kuelezea nini kwa mfano?

Video: Ni pointer ya kufanya kazi kuelezea nini kwa mfano?

Video: Ni pointer ya kufanya kazi kuelezea nini kwa mfano?
Video: Goodluck Gozbert - Mungu Hapokei Rushwa (Official Video) For Skiza SMS 7638600 to 811 2024, Mei
Anonim

Katika hili mfano , tunapita a pointer kwa a kazi . Tunapopita a pointer kama hoja badala ya kutofautisha basi anwani ya kutofautisha inapitishwa badala ya thamani. Kwa hivyo mabadiliko yoyote yaliyofanywa na kazi kwa kutumia pointer inafanywa kwa kudumu kwa anwani ya kutofautisha kupita.

Kwa kuongezea, unaelewa nini kwa pointer kufanya kazi kuielezea kwa mfano wowote?

A pointer kwa a kazi inaelekeza kwa anwani ya nambari inayoweza kutekelezwa ya kazi . Unaweza kutumia viashiria kupiga simu kazi na kupita kazi kama hoja kwa wengine kazi . Katika hili mfano ,fp ni a pointer kwa a kazi hiyo inarudi int.

Kando na hapo juu, unatumia vipi viashiria vya utendakazi? Jinsi ya kupitisha pointer kwa kazi

  1. Zoezi la 1: Andika msimbo wa chanzo kutoka kwa Kuashiria Punguzo hadi kwenye kihariri chako.
  2. Zoezi la 2: Rekebisha msimbo wako wa chanzo kutoka kwa Zoezi la 1 ili kiashiria cha kuelea kitofautishe p kitangazwe katika chaguo la kukokotoa kuu ().
  3. Zoezi la 3: Jenga mradi mpya wenye vitendaji viwili: create() na show().

Kwa namna hii, kitendakazi kinaweza kuwa kielekezi?

1) Tofauti na viashiria vya kawaida, pointer ya kazi inaelekeza kwa nambari, sio data. Kwa kawaida kielekezi cha kukokotoa huhifadhi mwanzo wa msimbo unaoweza kutekelezwa. 2) Tofauti na viashiria vya kawaida, hatugawi kutenganisha kumbukumbu kwa kutumia viashiria vya utendakazi. 3) Jina la kitendakazi pia linaweza kutumika kupata anwani ya vitendakazi.

Ni nini pointer kwa kazi katika C?

Katika C , inawezekana pia kufafanua na kutumia viashiria vya utendakazi , i.e. pointer vigezo vinavyoelekeza kazi . Viashiria vya kazi hutangazwa kama ifuatavyo: int (*fp)(); mara mbili (*fptr)(); Hapa, fp inatangazwa kama a pointer kwa kipengele ambayo inarudisha aina ya int, na fptr ni a pointer kwa kipengele hiyo inarudi mara mbili.

Ilipendekeza: