بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics

Slides:



Advertisements
Similar presentations
Awe sim.
Advertisements

معاونت درمان امور مامایی اردیبهشت 90. برای ثبت اطلاعات در برنامه نرم افزاری نظام مراقبت مرگ پریناتال ابتدا لازم است برنامه نرم افزار info-path وپرنیان.
O r g a n i z a t i o n a l b e h a v i o r e l e v e n t h e d i t i o n.
Definition. قانون بیز P(b|a) = P(a|b)P(b)/P(a) P(b|a) = P(a|b)P(b)/P(a) این قانون برای استنتاج آماری استفاده می شود. این قانون برای استنتاج آماری استفاده.
1 بسم الله الرحمن الرحیم. 2 پژوهش های آموزشی فرآیند – محور (POER) علی عمادزاده عضو هیئت علمی EDC
Decision Tree.
Ali Karimpour Associate Professor Ferdowsi University of Mashhad ADVANCED CONTROL Reference: Chi-Tsong Chen, “Linear System Theory and Design”, 1999.
فایل پردازی در C File based Programming in C. انواع فایل متنی –سرعت بالا –حجم کمتر –امکان دسترسی تصادفی –حفظ امنیت داده ها دودویی (باینری) –امکان باز.
1 بنام خدا زبان برنامه نویسی C (21814( Lecture 14 Structures.
Database Laboratory: Session #4 Akram Shokri. DB-Lab 2 Lab Activity You must already created all tables You have to have inserted proper data in tables.
به نام خدا برنامه سازی سمت سرور (php)
1 بنام خدا زبان برنامه نویسی C (21814( Lecture 9 Selected Topics.
فصل سوم. 2 Phases of C++ Programs: 1.Edit 2.Preprocess 3.Compile 4.Link 5.Load 6.Execute Program is created in the editor and stored on disk. Preprocessor.
1 بنام خدا زبان برنامه نویسی C (21814( Lecture 8 Chapters 8 & 9.
مظفر بگ محمدی دانشگاه ایلام Generics. کدهای عمومی 2 یکی از اهداف OOP ایجاد قابلیت نوشتن برنامه های عمومی با قابلیت استفاده ی مجدد است. کدهای چندریخت تا.
Stepper Motor Configuration
روابط مجموعه ها سلیمی. دکتر سلیمانی. نظریه فازی در سال 1965 بوسیله یک دانشمند ایرانی بنام پروفسور لطفی زاده معرفی گردید. گرچه این نظریه در ابتدا با.
CS Constraint Satisfaction Constraint Satisfaction Problems Chapter 5 Section 1 – 3 Modified by Vali Derhami.
آشنايي با سيستم اعداد.
به نام خدا.
[c.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
اعتبار طرح های آزمایشی استاد: دکتر بهرام جوکار راضیه هاشمی.
نظریه رفتار برنامه ريزي شده Theory of Planned Behavior
هیدروگراف(Hydrograph) تهیه : دکتر محمد مهدی احمدی
بنام خدا زبان برنامه نویسی C (21814( Lecture 2 Chapter 3
SY800 router mode [AD-14-TB ].
آشنایی مقدماتی با نرم افزار Endnote X4
ساختمان داده ها جداول درهم سازی
آزمایشگاه پایگاه داده ها قیود در جداول یک پایگاه داده در SQL Server
برنامه ریزی خطی پیشرفته (21715( Advanced Linear Programming Lecture 11
چگونه بفهمیم آیا ژورنالی ISI است؟ ایمپکت فاکتور دارد یا خیر؟
نرم افزار نگهداری و تعمیرات مبتنی بر مدیریت دانش نت CMMS-MKMS
به نام خدا.
بنام خدا زبان برنامه نویسی C (21814( Lecture 10 Chapter 11
مدیریت مالی و اقتصاد مدیریت موضوع : نقطه سر به سر زمستان 93
فصل دوم جبر بول.
Microsoft Visual Basic
SSO Single Sign-on Systems
آموزش و یادگیری Education and Training
فصل دوم – آشنایی با زبان .NET Visual C#
آشنایی با پایگاه داده mysql
Tree Sort.
مدارهای منطقی فصل سوم - خصوصیات توابع سويیچی
آشنایی مقدماتی با نرم افزار Endnote X4
انجماد و ذوب پدیده هایی هستند که یک دگرگونی بین یک حالت کریستالی (معمولا) و غیر کریستالی هستند.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
بنام خدا زبان برنامه نویسی C (21814( Lecture 3 Chapter 4
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
نظریه رفتار برنامه ريزي شده Theory of Planned Behavior
راهنمای استفاده از ابزار Mailings در Ms Word
پشته و صف پیوندی Give qualifications of instructors: DAP
آشنایی مقدماتی با نرم افزار Endnote X4
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
آشنایی مقدماتی با نرم افزار Endnote
جستجوی منابع الکترونیک
مظفر بگ محمدی دانشگاه ایلام
به نام خدا Koha برنامه.
فصل ششم مدارهای ترتیبی.
دکتر مظفر بگ محمدی دانشگاه ایلام
توزیع میانگین نمونه سعید موسوی.
به نام یکتای دانا فصل اول: متدها و قواعد.
فصل 8 –Process and Deployment
برنامه ریزی خطی پیشرفته (21715( Advanced Linear Programming Lecture 7
kbkjlj/m/lkiubljj'pl;
پشته و صف پیوندی Give qualifications of instructors: DAP
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
آشنایی با فرایند داده کاوی در نرم افزار R گروه داده کاوی دایکه داود دوروش تابستان 6139.
Presentation transcript:

بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics Part II

مثال هایی در مورد کاربرد های Pointers زبان برنامه نویسی C (21814 ( مثال هایی در مورد کاربرد های Pointers

زبان برنامه نویسی C (21814 ( Dynamic Memory Allocation تخصیص حافظه بصورت دینامیک: هدف گرفتن حافظه از سیستم عامل می باشد. مساله: در زبان برنامه نویسی C، مطابق آنچه تا کنون بیان شد، طول آرایه ها در ابتدای برنامه تعِیین می شود. اگر بتوان به روشی طول آرایه ها را هنگام اجرای برنامه، نه هنگام کامپایل کردن آن تعیین کرد می توان از حافظه استفاده بهتری نمود. این روش در سیستم عامل Windows با گرفتن حافظه برای آرایه انجام می شود.

زبان برنامه نویسی C (21814 ( Dynamic Memory Allocation هر برنامه ای در Windows98 یا Windows XP می تواند تا 4 GBytes از حافظه را استفاده کند. لذا بایستی در داخل برنامه امکاناتی را فراهم نمود تا از این امکانات سیستم عامل استفاده شود. فرایند 'memory allocation' در مورد سیستم عامل برای این منظور کاربرد دارد.

زبان برنامه نویسی C (21814 ( Dynamic Memory Allocation در این راستا تابعی بصورت void * malloc ( int size) وجود دارد که این کار را انجام می دهد. در این جا size مقدار فضای مورد نیاز می باشد. این تابع یک pointer که به اولین byte حافظه تخصیص یافته جدید اشاره می کند را باز می گرداند. نوع این pointer می تواند هر نوعی باشد ( char *, int *, etc.) حافظه تخصیص یافته می تواند به هر نحوی به کار رود.

زبان برنامه نویسی C (21814 ( Dynamic Memory Allocation مثال: #include <stdio.h> #include <stdlib.h> #define SIZE 1000 int main(void) { int *p, i; p = (int *)malloc(SIZE * sizeof(int)); // p can be considered an array of SIZE ints for (i=0; i < SIZE; ++i) p[i] = rand(); // init to random numbers free(p); return 0; }

زبان برنامه نویسی C (21814 ( Dynamic Memory Allocation با استفاده از void free(void * ptr) می توان حافظه تخصیص یافته را مجددا پس از استفاده آزاد کرد. ptr در واقع pointer است که به ابتدای حافظه تخصیص یافته اشاره می کند. برنامه هایی که حافظه گرفته شده را آزاد نکنند، اصطلاحا برنامه های دارای نشتی حافظه (memory leak) نام دارند. حافظه های آزاد نشده غیر قابل استفاده بوده و اصطلاحا garbage نامیده می شوند.

مقادیرp[2] و *p بترتیب کدامند؟ زبان برنامه نویسی C (21814 ( قسمتی از یک برنامه را برای دو سوال زیر در نظر بگیرید: char a[ ] = "abc", *p = a; مقادیرp[2] و *p بترتیب کدامند؟ الف- 'a' = *p 'b' p[2] = 'a' = *p 'c' p[2] = 'b‘ = *p 'b' p[2] = د- 'b' = *p 'c' p[2] =

زبان برنامه نویسی C (21814 ( قسمتی از یک برنامه را برای دو سوال زیر در نظر بگیرید: char a[ ] = "abc", *p = a; مقادیر++(*p) و *(++p) بترتیب کدامند؟ الف- 'b' = ++(*p) 'b' *(++p)= ب- 'a' = ++(*p) 'b' *(++p)= 'b' = ++(*p) 'a' *(++p)= د- 'a' = ++(*p) 'a' *(++p)=

زبان برنامه نویسی C (21814 ( هنگام تعریف متغیر های pointer لازم نیست که علامت * به نام متغیر بچسبد. در صورت وجود space همچنان متغیر بصورت pointer شناخته می شود. هنگام برنامه نویسی بهتر است برای سهولت درک برنامه، متغیر های pointer با اضافه کردن ptr به آخرنام متغیر از سایر متغیر ها متمایز شوند.