نمایش نتایج 1 تا 3 از 3

نام تاپیک: تفاوت *p با p* چیه؟

  1. #1

    تفاوت *p با p* چیه؟

    تفاوت *p با p* چیه؟

  2. #2

    نقل قول: تفاوت *p با p* چیه؟

    سلام.دوست میشه یک مثال بزنی که توش بعد ازpعملگر*باشه؟به عبارتی پسوند باشه؟...!
    شاید ضرب بوده...!

  3. #3
    کاربر دائمی آواتار Ananas
    تاریخ عضویت
    آبان 1390
    محل زندگی
    طول 50 و عرض 34 درجه
    سن
    36
    پست
    894

    نقل قول: تفاوت *p با p* چیه؟

    سلام.
    برای تعریف نوع اشاره گر به شی یا انواع اولیه در برنامه از ستاره در سمت راست اون شی یا نوع اولیه استفاده میکنن و به معنی : نوع اشاره گر، به شی یا نوعی هست که در سمت چپ ستاره نوشته میشه.
    وقتی می خوایم به محتویات یک اشاره گر دسترسی پیدا کنیم میتونیم از ستاره در سمت چپ اشاره گر استفاده کنیم و به در واقع با ستاره در سمت چپ میتونیم از اشاره گر به شی به عنوان یک نوع از اون شی استفاده کنیم.
    مثال :

    float *pf;
    pf = new float;
    *pf = 3.14159265f;
    float f = 2 * *pf;
    int *pint = (int *)pf;

    خط به خط :
    _____
    float *pf;

    اشاره گری از نوع float یعنی عبارت float و یک ستاره سمت راستش. یعنی نوعی از :
    float *

    در اینجا نگید ستاره سمت چپ pf هست بلکه بگید ستاره سمت راست float هست.
    _____
    pf = new float;

    تخصیص حافظه به مقدار سایز float یعنی 32 بیت و قرار دادن آدرس اون در اشاره گر.
    _____
    *pf = 3.14159265f;

    محتویات حافظه ی گرفته شده که اشاره گر به اون اشاره میکنه رو برابر عدد 3.14159265 قرار بده.
    _____
    float f = 2 * *pf;

    متغری از جنس float را برابر 2 ضرب در محتویات حافظه اشاره شده یعنی 3.14159265 قرار بده.
    _____
    int *pint = (int *)pf;

    اشاره گر به float رو به شکل اشاره گر به int در متغیر pint قرار بده. یعنی با استفاده از :
    *pint

    می تونیم به محتویات pf به عنوان عدد صحیح دسترسی داشته باشیم و بیت ها ی اون رو هم میتونیم دستکاری کنیم.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •