מצביע הוא בעצם משתנה. התוכן של המשתנה הזה הוא כתובת של משתנה אחר בזיכרון. יש לא מעט סוגים של מצביעים בהתאם למשתנים השונים (int, char וכו').
גודל בסיסי של מצביע בשפת C אם אתה עובד איתה, זה 2 בייט. אבל זה תלוי בכמה גורמים שלא מעניינים אותנו כרגע.אני אנסה להמחיש לך כדי שתוכל להבין את הרעיון מאחורי המצביעים...
נניח ויש לך משתנה מסוג int, נקרא לו intVar. למשתנה הזה יש מצביע מסוג int בשם intPtr.
intVar יכיל את הערך 35 לדוגמה... סתם מספר. כאשר נגרום למצביע intPtr להצביע אל intVar, הוא יקח את כתובת תא הזיכרון שעליו נמצא intVar(בדוגמה שלנו, 1212) ויכניס אותו למשתנה intPtr.

אני מקווה שזה יותר מובן עכשיו.
לגבי השאלה שלך:
מה שכתבת הוא נכון. לאופרטור * יש שני שימושים:
1.) הצהרה על משתנה מסוג מצביע (לדוגמה int *p בבלוק ההצהרה).
2.) התייחסות לתוכן התא שהמצביע מצביע אליו. לדוגמה קטע קוד:
#include <stdio.h>void main() { int x, *xp; xp = &x; *xp = 100; printf("The variable x = %d\n", x); }
|
הפלט, כמובן, יהיה 100.
אם משהו לא מובן, אשמח לעזור.
לירן.
\x6C\x65\x65\x74\x68\x61\x78\x30
\x72\x3A\x2D\x29
tresp4sser