Maaari kang mag-print ng isang pointer?
Maaari kang mag-print ng isang pointer?

Video: Maaari kang mag-print ng isang pointer?

Video: Maaari kang mag-print ng isang pointer?
Video: How to Adjust Page Margins in Microsoft Word 2024, Nobyembre
Anonim

Pag-print ng mga payo . Maaari kang mag-print ng pointer value gamit ang printf na may %p format specifier. Gagawin kaya, ikaw dapat i-convert ang pointer sa i-type ang void * una gamit ang isang cast (tingnan sa ibaba para sa void * mga payo ), bagama't sa mga makina na walang iba't ibang representasyon para sa iba panturo mga uri, maaaring hindi ito kailangan.

Ang tanong din ay, paano ko ipi-print ang aking printf address?

Upang print ang memorya tirahan , kami gamitin '%p' format specifier sa C. Upang print ang tirahan ng a variable, tayo gamitin "%p" specifier sa C programming language. Mayroong dalawang paraan upang makuha ang tirahan ng variable: Sa pamamagitan ng paggamit " tirahan ng" (&) operator.

Bukod pa rito, ano ang mangyayari kapag nagdagdag ka sa isang pointer? A panturo Ang karagdagan ay nangangahulugan ng pagpasa sa ilang susunod na itinuro na elemento. Kaya ang address ay dinadagdagan ng laki ng itinuro na elemento. Ang address ng panturo ay dagdagan ng sizeof(T) kung saan ang T ay ang uri na itinuturo. Kaya para sa isang int, ang panturo ay dagdagan ng sizeof(int).

Gayundin, ang mga tao ay nagtatanong, paano ko mahahanap ang halaga ng isang pointer?

1 Sagot. Upang makuha ang halaga ng a panturo , i-de-reference lang ang panturo . int *ptr; int halaga ; *ptr = 9; halaga = *ptr; halaga ngayon ay 9.

Maaari bang magdagdag ng integer sa isang pointer?

Pointer arithmetic at arrays. Idagdag isang integer sa a panturo o ibawas ang isang integer galing sa panturo . Ang epekto ng p+n kung saan ang p ay a panturo at ang n ay isang integer ay upang kalkulahin ang address na katumbas ng p plus n beses ang laki ng anumang p itinuturo sa (ito ang dahilan kung bakit int * mga payo at char * mga payo ay hindi pareho).

Inirerekumendang: