در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش برنامه نویسی C قسمت 5 : اشاره گر ها

سلام دوستان. در این قسمت درمورد اشاره گر ها صحبت خواهیم کرد. به شکل زیر دقت کنید (با paint کشیدم!!! ). فرض کنید خانه های حافظه از شماره 0x000000 تا 0xFFFFFF نامگذاری شده اند. یک متغیر n با مقدار 25 تعریف میکنیم (خط 4). در جایی از حافظه، این متغیر ذخیره میشود. مثلا در خانه شماره 0x000080 ذخیره میشود. پس محتوای این خانه 25 میشود. حال یک متغیر اشاره گر به نام k تعریف میکنیم و میگوییم که به آدرس خانه ای که n در آن دخیره شده، اشاره کن (خط 5). پس محتوای خانه شماره 0x000100 که به k اختصاص دادیم، به آدرس n اشاره میکند. حالا ابتدا خود متغیر n را چاپ میکنیم (خط 6). سپس آدرس جایی که k اشاره میکند را چاپ میکنیم که آدرس خانه n است (خط 7). و در نهایت محتویات آدرسی که k به آن اشاره میکند که عدد 25 است (خط 8).

آموزش برنامه نویسی C  قسمت 5 : اشاره گر ها

آموزش برنامه نویسی C  قسمت 5 : اشاره گر ها

آموزش برنامه نویسی C  قسمت 5 : اشاره گر ها

پایان قسمت پنجم

نویسنده : سید محمد باقر موسوی

منبع : جزیره برنامه نویسی وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

#برنامه_نویسی_به_زبان_c #نوشتن_shell_script_در_لینوکس #زبان_برنامه_نویسی_c_در_لینوکس #برنامه_نویسی_c_در_محیط_لینوکس #برنامه_نویسی_به_زبان_c_در_لینوکس #آموزش_گام_به_گام_برنامه_نویسی_c #برنامه_نویسی_c_در_linux #آموزش_برنامه_نویسی_c_در_لینوکس
عنوان
1 آموزش برنامه نویسی C قسمت 1 : نصب محیط برنامه نویسی رایگان
2 آموزش برنامه نویسی C قسمت 2 : Hello World رایگان
3 آموزش برنامه نویسی C قسمت 3 : Data Types رایگان
4 آموزش برنامه نویسی C قسمت 4 : Data Types رایگان
5 آموزش برنامه نویسی C قسمت 5 : اشاره گر ها رایگان
6 آموزش برنامه نویسی C قسمت 6 : آرایه ها رایگان
7 آموزش برنامه نویسی C قسمت 7 : ساختار شرط IF رایگان
8 آموزش برنامه نویسی C قسمت 8 : حلقه for رایگان
9 آموزش برنامه نویسی C قسمت 9 : حلقه While رایگان
10 آموزش برنامه نویسی C قسمت 10 : Struct رایگان
11 آموزش برنامه نویسی C قسمت 11 : تابع دریافت ورودی scanf رایگان
12 آموزش برنامه نویسی C قسمت 12 : فایل های متنی و باینری رایگان
13 آموزش برنامه نویسی C قسمت 13 : توابع رایگان
14 آموزش برنامه نویسی C قسمت 14 : توابع اشاره گر رایگان
15 آموزش برنامه نویسی C قسمت 15 : argc argv رایگان
16 آموزش برنامه نویسی C قسمت 16 : Multiple Source Files رایگان
17 آموزش برنامه نویسی C قسمت 17 : String Functions & Operations رایگان
18 آموزش برنامه نویسی C قسمت 18 : Char Pointers VS Array Char رایگان
19 آموزش برنامه نویسی C قسمت 19 : Binary & Unary Operations رایگان
20 آموزش برنامه نویسی C قسمت 20 : Type Casting رایگان
21 آموزش برنامه نویسی C قسمت 21 : readdir & opendir functions رایگان
22 آموزش برنامه نویسی C قسمت 22 : Fork Function رایگان
23 آموزش برنامه نویسی C قسمت 23 : Thread رایگان
24 آموزش برنامه نویسی C قسمت 24 : Switch Case Statement رایگان
25 آموزش برنامه نویسی C قسمت 25 : qsort رایگان
26 آموزش برنامه نویسی C قسمت 26 : Socket Programming رایگان
27 آموزش برنامه نویسی C قسمت 27 : لیست پیوندی (Linked List) رایگان
زمان و قیمت کل 0″ 0
3 نظر
بیات

این قسمت کمی ساده ست من کمی مطلب بهش اضافه میکنم

همیشه اسم ارایه ادرسه و با & هم ادرس رو میده

یعنی

int a[5]={1,2,3,4,5};

cout<<a;
cout<<&a;


هردوشون یکی هستن ویک خروجی رومیدن


cout<<*a;
محتوای خونه اول رو میده

cout<<*(a+۱);
محتوای خونه دوم رومیده
یعنی مقدار 2 روچاپ میکنه
بیات

امادر ارایه های رشته ای چی؟

به این کدنگاه کنید



 char d[34]="abcdef";
 cout<<d <<endl;
 cout<<&d <<endl;
 cout<<*d <<endl;

خروجی این چی میشه
abcdef
0x0000034a
a

یعنی اینکه برخلاف ارایه ها نام رشته ی کارکتری محتووای متغیر رونشون میده

ادرسش هم ادرس اولین خانه ی رشته یاهمون ادرس d[0] رونشون میده

و d* هم محتوای اولین خانه ارایه یعنی d[0] رونشون میده یعنی a رو

بیات

ثوابت در زبان سی

خب میخایم یک ثابت تعریف کنیم به دوصورت هست

روش نخست

#define  x    23

در روش بالا نیاز به سیمیکالن نیست

روش دوم

const int x=23;

در این روش متغیری از نوع ایکس که ثابت نیز میباشد راتعریف کردیم

اینها راگفتیم که چه بشود؟؟؟؟؟؟؟؟؟

اما اشاره گرثابت و اشاره گر به ثابت ها

به مثالهای زیر توجه کنید

int n = 44;                       // تعریف متغیر 
int* p = &n;                    // اشاره گری به متغیر
++(*p);                          // مقدار متغیر به ۴۵ تبدیل میشود
++p;                              // اینک اشاره گربه یک خانه جلوتراشاره میکند
int* const cp = &n;        // تعریف یک اشاره گر ثابت
++(*cp);                        // OK: increments int *cp
++cp;                            // illegal: pointer cp is const
const int k = 88;            //تعریف یک متغیر ثابت
const int * pc = &k;       // اشاره گری به متغیر ثابت
++(*pc);                        // illegal: int *pc is const
++pc;                            // OK: increments pointer pc
const int* const cpc = &k;         // اشاره گری ثابت به متغیری ثابت
++(*cpc);                                  // illegal: int *pc is const
++cpc;                                       // illegal: pointer cpc is const
نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....