بخشی از پاورپوینت

اسلاید 1 :

بنام خدا

زبان برنامه نویسی C (21814(

Structures

اسلاید 2 :

زبان برنامه نویسی C (21814 (
Structures

یکی از پرکاربرد ترین روشهای ترکیب کردن داده ها در زبان C استفاده از Structure ها می باشد.

در این روش برخلاف حالت استفاده از یک آرایه، می توان داده ها )متغیر ها) با انواع مختلف را در یک جا استفاده نمود.

در این جا هر یک از بخش های یک Structure برخلاف آرایه ها دارای نام جداگانه است.

اسلاید 3 :

زبان برنامه نویسی C (21814 ( - Structure
از کاربرد های مهم این روش استفاده از آن برای ایجاد بانک های اطلاعاتی می باشد.

در این جلسه
نحوه نمایش Structure
عملیات های قابل اجرا به روی آنها
نحوه ترکیب آرایه ها با آنها
مورد بررسی قرار می گیرند.

اسلاید 4 :

استفاده از Structure ها این امکان را می دهد که خاصیت های مختلف یک شی/فرد/ مورد مطالعه به صورت مرتبط با هم ارایه شوند.

مثال: اطلاعات مختلف یک ورزشکار در بانک اطلاعاتی فدراسیون های ورزشی.

یک متغیر Structure شامل تعداد متعددی فضای تعریف شده (slots) است که اعضای Structure نامیده می شوند (members or fields).

اسلاید 5 :

هر یک از اعضای Structure بیانگر یکی از خصوصیات شی مورد نظر می باشند.

در زبان های به کار رفته در بانک های اطلاعاتی، یک Structure به نام یک Record نامیده می شود.

اسلاید 6 :

زبان برنامه نویسی C (21814 ( - Structure
Structure Declaration
struct tag {
type variable;
type variable;

} variable, variable, …;
optional (but need at least one).
called members

اسلاید 7 :

یک Structure type شامل

Structure type specification با کلمه struct.
یک نام اختیاری که tag name نامیده می شود.
تعریف اعضا در داخل { }.
نام متغیر ها (اختیاری).

اسلاید 8 :

نحوه تعریف اعضا دقیقا همانند روش تعریف یک متغیر است.

دو عضو یک structure می توانند دارای type مشابه باشند.

هر یک از اعضای یک structure می توانند بصورت مجزا صدا زده شوند.

هر یک از اعضا بایستی دارای نام منحصر به فردی باشند.

اسلاید 9 :

مثال:
struct course {
char * dept;/* e.g. “IE" */
char * title;/* e.g. "Intro to C Programming"*/
int number;/* e.g. 21814 */
int section;/* e.g. 1 */
};

This defines a type only (struct course), no memory used or variables defined. This is not a declaration!!

اسلاید 10 :

Variables of type 'course‘

struct course {
char * dept;/* e.g. IE */
char * title;/* e.g. Intro to C Programming*/
int number;/* e.g. 21814 */
int section;/* e.g. 1 */
} c1, c2, c3;

Defines and Declares three 'course-type' variables.

اسلاید 11 :

نحوه مقدار دهی به اعضای :Structure
c1.dept = "IE";/* called 'dot' notation */
c1.title = "Intro to C Programming";
c1.number = 21814;
c1.section = 1;
printf(“%s %s %d %d\n”, c1.dept, c1.title, c1.number, c1.section);

IE Intro to C Programming 21814 1

اسلاید 12 :

تفاوت میان نوع Structure و نحوه تعریف آنها

struct course { /* this defines the new 'struct course' type */
char * dept; /* e.g. IE */
char * title; /* e.g. Intro to C Programming*/
int number; /* e.g. 21814 */
int section; /* e.g. 1 */
};

struct course courses[100]; /* an array (collection) of 100 courses */
courses[0].dept = “English”;/* note syntax */
courses[1].dept = “Psychology”;/* etc. */

اسلاید 13 :

10
struct card {
char *suit;
int val;
} c;

c.suit = "clubs";
c.val = 10;
&c.suit
&c.val
c
l
u
b
s
\0
123456:
123456

اسلاید 14 :

struct card {
char *suit;
int val;
} c;
این دو روش مانند هم می باشند:
struct card {
char *suit;
int val;
};
struct card c;

اسلاید 15 :

هنگام تعریف یک Structure می توان در حالت هایی مانند زیر نام Structure را تعریف نکرد.
struct {
char * name;
char *tel_no;
} tel_list[100]; /* list of 100 names & telnos */

در چنین حالتی فقط یک نوع متغیر به این صورت تعریف شده است.

اسلاید 16 :

هنگام تعریف یک Structure، نوشتن حداقل یکی از این دو ضروری است.
struct {
char * name;
char *tel_no;
};

This is useless -- no variables of this type and no tag to use to declare variables.

اسلاید 17 :

typedef declaration

یکی از روشهای مناسب برای نام گذاری type های موجود استفاده از typedef می باشد.
typedef old_type new_type_name;

Can be used to rename all current types.
char, int, float, double, struct, and pointers to these.
Mostly used with struct type

اسلاید 18 :

typedef struct {
char * dept;
char * title;
int number;
int section;
} course_t;
/* course_t is new type and can be used in declarations */

int main(void) {
course_t IE21814, cs161, cs162; /* declares 3 courses */
IE21814.title = "Introduction to C Programming";
etc.

اسلاید 19 :

نحوه مقدار دهی به اعضای :Structure
مثال:
typedef struct Lumber{
char type[11]; //type of wood
int height, width, length;
float price;
int quantity;
} lumber_t;
lumber_t sale;
lumber_t plank = {“white oak”, 1, 6, 8, 5.82, 158};

اسلاید 20 :

زبان برنامه نویسی C (21814 ( - Structure Typedef or Tag?
typedef struct {
char * dept;char * title;
int number;
int section;
} course_t;

/* 'course_t' is type*/
course_t c1, c2, c3;
struct course {
char * dept;
char * title;
int number;
int section;
};

/* 'struct course' is type*/
struct course c1, c2, c3;

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید