تبليغاتX
.:: لوتوس دنیای موبایل ::.
.:: لوتوس دنیای موبایل ::.
دانلود برنامه موبایل - ترفندهای موبایل - دانلود نرم افزار کامپیوتر)نظر یادتون نره(
قال رسول الله (ص) : ايها الناس ! انه قد اقبل اليكم شهر الله بالبركة و الرحمة و المغفرة
زمينه هاي پيدايش جاوا

دسته بندی : / لینک ثابت

سلام بچه ها میخوام از حالا جالا هم بنویسم

خوش باشین

تاريخچه زبانهاي برنامه نويسي بشرح زير است : زبان B منجر به ظهور زبان C و C
زمينه پيدايش C++ شد و در نهايت زبان جاوا متولد شد . درك زبان جاوا مستلزم :
درك زمينه هاي لازم براي ايجاد جاوا ، نيروهايي كه اين زبان را شكل داده اند و
مشخصاتي است كه اين زبان از اسلاف خود به ارث برده است . نظير ساير زبانهاي
برنامه نويسي موفق ، جاوا نيز عناصر بارث برده از اسلاف خود را با ايده هاي
ابتكاري كه ناشي از محيط منحصر بفرد اين زبان بوده درهم آميخته است . فصول بعدي
جنبه هاي عملي زبان جاوا شامل دستور زبان (syntax) و كتابخانه ها (libraries)
و كاربردهاي جاوا را توصيف مي كند . فعلا" چگونگي و علت ظهور جاوا و اهميت آن
را بررسي مي كنيم .
اگر چه جاوا تفكيك ناپذيري با محيط هاي همزمان اينترنت پيوستگي دارد ، اما
بخاطر بسپاريد كه جاوا قبل از هر چيز يك زبان برنامه نويسي است . ابداعات و
پيشرفت ها در زبانهاي برنامه نويسي كامپيوتر بدو دليل بروز مي كنند :
- تطابق با تغييرات محيط ها و كاربردها .
- ايجاد پالايش و پيشرفت در هنر برنامه نويسي .
همانطوريكه بعدا" مشاهده مي كنيد ، تولد جاوا از اين دو دليل بطور يكسان


نویسنده مطلب : لوتوس   \  تاریخ درج : دوشنبه 28 آذر1384   21:59 \

تعريف ساختمان ها به صورت لانه اي

دسته بندی : / لینک ثابت

اجزاي يك ساختمان ميتوانند يك متغير معمولي ، آرايه و يا يك ساختمان باشند.
دو مورد اول را قبلا" مشاهده كرديم . در اين قسمت به بررسي مورد سوم مي پردازيم .
وقتي كه اجزاي يك ساختمان از نوع ساختمان باشند براي دسترسي به اجزاي آن بايد
اسامي متغيرهاي ساختمان را از بالاترين ساختمان به داخلي ترين ساختمان ذكر كرد.

مثال : برنامه اي كه مشخصات چند كارمند را به همراه تاريخ استخدام آنها از
ورودي خوانده و با اخذ تاريخ جاري ، سابقه خدمت كارمندان را محاسبه مي كند و
مشخصات كارمندي كه بيشترين سابقه خدمت را دارد به همراه توسط سن كارمندان به
خروجي منتقل مي كند .

#define MAX 100
main)(
{
int i / n /sumage=0 / maxold=0 ;
struct data {
int day ;
int month ;
int year ;
} today ;
struct employee {
char name [30];
int persno ;
struct data workdate ;
int age ;
int old ;
} emp[MAX] ;
struct employee maxemp={0} ;
printf("\n enter the number of");
printf(" employee: " );
scanf("%d"/&n );
printf("\n enter date" );
printf("(day month year:)" );
scanf("%d"/&today.day );
scanf("%d"/&today.month );
scanf("%d"/&today.year );
for( i=0 ; i < n ; i++)
{
printf("\n enter name:" );
scanf("%s"/emp[i].name );
printf("\n enter personel " );
printf("number: " );
scanf("%d"/&emp[i].persno );
printf("\n enter today date" );
pintf("(day month year:)" );
scanf("%d"/&emp[i].workdate.day );
scanf("%d"/&emp[i].workdate.month );
scanf("%d"/&emp[i].workdate.year );
printf("\n enter age: ");
scanf("%d"/&emp[i].age );
if( today.month <
emp[i].worldate.month ||
( today.month ==
emp[i].workdate.month &&
today.day >=
emp[i].workdate.day))
emp[i].old=today.year-
emp[i].workdate.year ;
else
emp[i].old=today.year-
emp[i].workdate.year - 1 ;
if( emp[i].old > maxold)
{
maxold=emp[i].old ;
maxemp=emp[i] ;
}
sumage+=emp[i].age ;
}
printf("\n the average of age");
printf(" is: %d"/sumage/n );
printf("\n the specification ");
printf("of a older person:" );
printf("\n the name is : ");
printf("%s"/maxemp.name );
printf("\n the persno is:");
printf("%d"/maxemp.persno );
printf("\n the age is :");
printf(": %d"/maxemp.age );
printf("\n the old is:");
printf("%d"/maxemp.old );
}

نمونه اي از خروجي برنامه مثال بالا : enter the number of employee:2
enter today date(day month year:)25 12 70
enter name:ahmad
enter personel number:1231
enter date(day month year:)12 2 60
enter age: 30
enter name:mohammad
enter personel number:4323
enter date(day month year:)2 12 55
enter age: 40

the average of age is:35
the specification of a older person:
the name is : mohammad
the persno is:4323
the age is :40
the old is:


نویسنده مطلب : لوتوس   \  تاریخ درج : دوشنبه 28 آذر1384   21:57 \

آرايه اي از ساختمانها

دسته بندی : / لینک ثابت

يكي از بيشترين موارد كاربرد ساختمانها ، تعريف شدن بصورت آرايه مي باشد .
براي تعريف آرايه اي از ساختمان ، ابتدا بايد نوع ساختمان را تعريف كرده وهمانند
تعريف متغيرهاي معمولي ، آرايه اي از آن نوع را تعريف نمود . بعنوان مثال دستور struct personel st[100];

آرايه 100 عنصري st را كه هر عنصر آن از نوع ساختمان هستند تعريف مي كند .
اگر فرض شود كه persno يكي از اجزاي ساختمان personal باشد به طريق زير ميتوان
به اين جزئ دسترسي پيدا كرد و مقداري را به آن نسبت داد : st [i] .persno= 100;

دستور فوق موجب مي شود تا مقدار جزئ persno از عنصر i ام آرايه st برابر با 100
گردد .

مثال : برنامه اي كه مشخصات تعدادي از افراد را كه شامل نام و آدرس ( شامل :
خيابان ، شهر و ... ) است ، از ورودي خوانده و در آرايه اي از ساختمان ها قرار
مي دهد . اين برنامه قادر است : فردي را از آرايه حذف كند ، فرد جديدي را به
آرايه اضافه نمايد و محتويات كل آرايه را چاپ كند . قبل از نوشتن اين برنامه
جهت درك صحيح آن ، ساختار سلسله مراتبي و وظايف هر يك از توابع شكل ( الف ) را
بيان مي كنيم :
ؤؤؤؤؤؤؤؤؤؤؤؤ | main )(|

ؤؤؤؤؤؤؤؤؤؤؤؤ |

ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ
ؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ |menu_seletc)(| | enter )(| | delete )(| | list )(| |init_list )(|

ؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤؤؤؤؤؤؤؤ |

ؤؤؤؤؤؤؤؤؤؤؤؤؤؤ |find_free )(|

ؤؤؤؤؤؤؤؤؤؤؤؤؤؤ
شكل ( الف ) . نمودار سلسله مراتبي برنامه مثال

وظيفه تابع ()main : تعريف ساختمان ها ، توابع و فراخواني توابع مطابق شكل
( الف ) .
وظيفه تابع ()menu-slselect : ظاهر نمودن منويي در صفحه نمايش جهت انتخاب
نوع عمل برنامه .
وظيفه تابع ()enter : فراخواني تابع ()find-fefree جهت پيدا كردن جاي خالي
در آرايه ، خواندن اطلاعات از صفحه كليد و وارد كردن آنها در جاي پيدا شده در
آرايه .
وظيفه تابع ()delete : حذف افراد از آرايه ( براي اين منظور اولين محل از
جزئ name را برابر با '\0' قرار مي دهد ) .
وظيفه تابع ()list : نمايش محتويات كامل آرايه .
وظيفه تابع ()init-lslist : ارزش دهي به عناصر آرايه ( اولين محل از جزئname
را برابر با '\0' قرار مي دهد ) .
وظيفه تابع ()find-fefree : پيدا كردن جاي خالي در آرايه جهت قرار دادن
اطلاعات جديد در آن محل . /* program example 8 - 4 */

#include "stdio.h"
#include "stdlib.h"
#define MAX 100
struct addr{
char name[10] ;
char street[15] ;
char city[10] ;
char state[3] ;
unsigned long int zip;
} addr_info[MAX] ;
void init_list(void)/enter(void );
void delete(void)/list(void );
int menu_select(void)/find_free(void);
main(void)
{
char choice / ch ;
init_list )(;
for(;;){
choice=menu_select )(;
switch(choice)
{
case 1;
enter{} ;
break ;
case 2;
delete )(;
break ;
case 3;
list )(;
break ;
case 4;
exit(0 );
}
}
}
void init_list(void)
{
register int t ;
for(t=0 ; t addr_info[t].name[0]='\0' ;
}
menu_select(void)
{
char s[10] ;
int c ;
clrscr )(;
gotoxy(29.6 );
printf("1 )<< enter a name >>");
gotoxy(29.8 );
printf("2 )<< delete a name >>");
gotoxy(29.10 );
printf("3 )<< list the file >>");
gotoxy(29.12 );
printf("4 )<< Quit >>");
do {
gotoxy(24/15 );
printf(" Please enter your" );
printf(" choice(1-4:)");
gets(s );
c=atoi(s );
} while(c < 0 || c > 4 );
return( c );
}
void enter(void)
{
int slot ;
char s[80] ;
slot=find_free )(;
if(slot==-1)
{
printf("\n list full");
return ;
}
gotoxy(5/17 );
printf("enter name:" );
gets(addr_info[slot].name);

gotoxy(40/17 );
printf("enter street:" );
gets(addr_info[slot].street);

gotoxy(5/19 );
printf("enter city:" );
gets(addr_info[slot].city);

gotoxy(40/19 );
printf("enter state:" );
gets(addr_info[slot].state);

gotoxy(22/21 );
printf("enter zip:" );
gets(s );

addr_info[slot].zip=
strtoul(s/'\0'/10 );
}
find_free(void)
{
register int t ;
for(t=0 ; addr_info[t].name[0]
&& t < MAX ; ++t );
if(t==MAX )return- 1 ;
return t ;
}
void delete(void)
{
int slot ;
gotoxy(28/19 );
printf("enter record #(0-99:)");
scanf("%d"/&slot );
if(slot>=0 && slot addr info[slot].name[0]='\0';
}
void list(void)
{
register int t ;
int r=0 ;
char ch ;
clrscr )(;
gotoxy(25/2 );
printf(" << all information in");
printf(" list are:>>" );
gotoxy(13/3 );
printf("**********************");
printf("*******************" );
printf("********************" );
gotoxy(10/4 );
printf(" name street");
printf(" city " );
printf(" state zip");
printf(" " );
gotoxy(10/5);
;
("ؤؤؤؤؤؤؤ ؤؤؤؤؤؤؤؤ ")printf ;
(" ؤؤؤؤؤؤ ")printf ;
("ؤؤؤؤ ؤؤؤؤؤؤؤ ")printf printf(" " );
for(t=0;t {
if(addr_info[t].name[0])
{
gotoxy(14/6+r );
printf("%s "/addr_info[t].name);
gotoxy(26/6+r );
printf("%s "/addr_info[t].street);
gotoxy(40/6+r );
printf("%s "/addr_info[t].city);
gotoxy(54/6+r );
printf("%s "/addr_info[t].state);
gotoxy(70/6+r );
printf("%1u "/addr_info[t].zip);
r++ ;
}
}
gotoxy(13/6+r );
printf("********************");
printf("*********************" );
printf("********************" );
gotoxy(27/7+r );
printf("press any key to continue");
ch=getch )(;
}

نكته اي كه در مورد برنامه مثال بالا بايد در نظر داشت اين است كه در اين
برنامه از توابع كتابخانه اي ()gotoxy ، ()atoi و ()strtoul استفاده شده است .
نمونه اي از خروجي برنامه مثال بالا : 1 )<< enter a name >>
2 )<< delete a name >>
3 )<< list the file >>
4 )<< Quit >>

Please enter your choice(1-4:)1

enter name:mohammad
enter street:daneshgah
enter city:mashhad
enter state:23
enter zip:123


1 )<< enter a name >>
2 )<< delete a name >>
3 )<< list the file >>
4 )<< Quit >>

Please enter your choice(1-4:)2

enter name:naser
enter street:asrar
enter city:mashhad
enter state:34
enter zip:432


1 )<< enter a name >>
2 )<< delete a name >>
3 )<< list the file >>
4 )<< Quit >>

Please enter your choice(1-4:)3

***************************************
name street city state zip
--- ------ ------ ------- --------
mohammad daneshgah mashhad 23 123
naser asrar mashhad 34 432
***************************************
press

نویسنده مطلب : لوتوس   \  تاریخ درج : دوشنبه 28 آذر1384   21:56 \

انتساب ساختمانها به يكديگر

دسته بندی : / لینک ثابت

در گونه هاي اوليه زبان C ، انتساب يك ساختمان به ساختمان ديگر امكان پذير
نبود ولي در گونه هاي جديد C و همچنين در توربو C انتساب متغيرهاي ساختمان كه
از يك نوع باشند امكان پذير است .

مثال : برنامه اي كه مشخصات چند دانشجو را بهمراه معدل آنها از ورودي خوانده
و سپس دانشجويي را كه دومين معدل را از نظر بزرگي دارد پيدا مي كند . struct student {
char name[30] ;
float grade ;
} ;
main)(
{
int i / n ;
float y ;
struct student st1={0} ;
struct student st1={0}/ st ;
printf("\n enter the number " );
printf(" of student :" );
scanf("%d"/&n );
for( i=1 ; i <= n ; i++)
{
printf("\nenter name of student");
printf(" %d: "/i );
scanf("%s"/st.name );
printf("\nenter grade of student");
printf(" %d: "/i );
scanf("%f"/&y );
st.grade=y ;
if( st.grade > st1.grade)
{
st2=st1 ;
st1=st ;
}
else if( st.grade > st2.grade)
st2=st ;
}
printf("\nthe name of second ");
printf("student is: %s"/st2.name );
printf("\n\nthe grade of second" );
printf(" student is:" );
printf("%.2f"/st2.grade );
}

نمونه اي از خروجي برنامه مثال بالا : enter the number of student:5
enter name of student 1:ali
enter grade of student 1:12.6
enter name of student 1:sadegh
enter grade of student 2:18.2
enter name of student 3:reza
enter grade of student 3:14.5
enter name of student 4:mohammad
enter grade of student 4:12
enter name of student 5:ahmad
enter grade of student 5:15
the name of second student is:ahmad
the grade of second student is:15.00


نویسنده مطلب : لوتوس   \  تاریخ درج : دوشنبه 28 آذر1384   21:53 \

ارزش دهي اوليه به ساختمان

دسته بندی : / لینک ثابت

مي توان به متغيرهاي از نوع ساختمان كه داراي كلاس حافظه استاتيك و خارجي
باشند ، همانند آرايه ها مقدار اوليه داد . براي اين منظور مقادير اوليه در بين {
و} قرار گرفته و با كاما از يكديگر جدا ميشوند. مقاديري كه به متغير ساختمان
قرار مي گيرند : اولين مقدار به اولين جزئ، دومين مقدار به دومين جزئ و n امين
مقدار به n امين جزئ نسبت داده مي شود . اگر تعداد مقادير ، از تعداد اجزاي
متغير ساختمان كمتر باشند ، مقدار بقيه اجزاي عددي برابر با صفر و مقدار بقيه
اجزاي رشته اي برابر با NULL ( كاراكتر تهي ) خواهد شد .

مثال : ساختمان student را كه در زير آمده است در نظر بگيريد : struct student {
char name[21] ;
char address[30] ;
int grade[10] ;
int stno ;
} s1/ s2 ;

اكنون مجموعه دستورات زير را ملاحظه نماييد : struct student st1={( 1)
"ali"/"mohammad"/
"{0}/15} ;

struct student st2={0} ;( 2)

struct student st3={( 3)
"ahmad"/
'\0'/{15/20}/0} ;

struct student st4={"reza"} ;( 4)

دستور (1) ، مقدار "ali"در nameر، "mohammad"،در addressر ، صفر در كليه
عناصر آرايه grade و 15در stnoر از متغير st1 قرار مي گيرد . در دستور (2)
كليه اجزاي عددي متغير st2 ، مقدار صفر و اجزاي كاراكتري ، مقدار تهي را
مي پذيرند ، در دستور (3) ، مقدار "ahmad"در nameر ، رشته تهي در address ، 15
و 20 بترتيب در محل هاي اول و دوم آرايه grade و صفر در stno متغير st3 قرار
مي گيرد . در دستور (4) ، مقدار "reza" در جزئ name از متغير st4 قرار گرفته و ن متغير مقدار صفر و اجزاي غيرعددي مقدار تهي را مي پذيرند.


نویسنده مطلب : لوتوس   \  تاریخ درج : جمعه 4 آذر1384   14:53 \

دسترسي به اجزاي ساختمان

دسته بندی : / لینک ثابت

همانطوركه مشاهده شد هر ساختمان داراي چند جزئ است كه براي دسترسي به هر يك
از اجزاي آن از روش كلي زير استفاده مي شود :
<اسم متغير از نوع ساختمان >.<نام جزئ>
بعنوان مثال ، با فرض اين كه p1و p2و دو متغير از نوع ساختمان بوده و داراي 3
جزئ به اسامي name، person،و salaryو باشند ، دستورات زير موجب دسترسي به هر
يك از اجزاي متغير p1 مي شوند كه در مورد p2 نيز ميتوان به همين طريق عمل كرد: p1.name
p1.persno
p1.salary

اگر اجزاي ساختمان ، از نوع آرايه باشند ، ذكر انديس آرايه جهت دسترسي به
عناصر آن الزامي است . بعنوان مثال ، دستور زير را در نظر مي گيريم : struct student {
char name [31];
int cours [10];
int unit [10];
int grade [10];
int persno;
} st1.st2;

در دستور فوق بعضي از اجزاي ساختمان student بصورت آرايه اي تعريف شده اند .
دستورات زير موجب دسترسي به اجزاي متغير ساختمان st1 مي شوند : st1.cours [1]
st1.cours [i]
st1.name

همانطوركه مشاهده شد اگر اجزاي ساختمان رشته اي باشند ميتوان به تك تك عناصر
آن نيز دسترسي پيدا كرد (st1.name[i])
در مورد مقدار دادن به اجزاي ساختمان مي توان همانند يك متغير معمولي عمل
كرد . لذا با فرض اين كه st1 متغير ساختماني باشد كه قبلا" تعريف شده است
دستورات زير معتبر مي باشند : st1.persno=1243;( 1)
printf("\n %d"/st1.persno);( 2)
gets(st1.name);( 3)
for( i=0;i<10;i++( )4)
scanf("%d"/&st1.unit[i]);


مثال : برنامه اي كه دو عدد موهومي را از ورودي خوانده و مجموع آنها را
محاسبه مي كند و به خروجي مي برد . main)(
{
struct complex
{
int real ;
int unreal ;
} comp1 / comp2 /result ;
printf("\n enter the real part");
printf(" for number %d:"/1);
scanf("%d"/&comp1.real );
printf("\n enter the unreal part");
printf(" for number %d:"/1 );
scanf("%d"/&comp1.unreal );
printf("\n enter the real part ");
printf(" for number %d:"/2 );
scanf("%d"/&comp2.real );
printf("\n enter the unreal part");
printf(" for number %d:"/2 );
scanf("%d"/&comp2.unreal );
result.real=comp1.real+comp2.real;
result.unreal=
comp1.unreal+comp2.unreal;
printf("\nthe result of sum is:");
printf("\nreal part=" );
printf("%d"/result.real);
printf("\n unreal part" );
printf("=%d"/result.unreal);
}

نمونه اي از خروجي برنامه مثال بالا : enter the real part for number 1:12
enter the unreal part for number 1:25
enter the real part for number 2:5
enter the unreal part for number 2:19

the result of sum is:

real part=17

un

نویسنده مطلب : لوتوس   \  تاریخ درج : جمعه 4 آذر1384   14:52 \

تعريف نوع ساختمان

دسته بندی : / لینک ثابت

براي تعريف نوع ساختمان ، از دستور struct بصورت زير استفاده مي شود : {
<نام ساختمان > struct
اجزاي ساختمان };

نام ساختمان ، از قانون نامگذاري براي متغيرها تبعيت مي كند. اجزاي ساختمان
متغيرهايي هستند كه قسمتي از ساختمان مي باشند و همانند يك متغير معمولي و يا
آرايه بايد اسم و نوع هر كدام مشخص باشد. به يك ساختمان نمونه كه براي نگهداري
اسم ، شماره كارمندي و حقوق كارمندان نوشته شده است توجه نماييد : struct personel {
char name [31];
int person;
int salary;
};

در تعريف نوع ساختمان بايد موارد زير را در نظر داشت : 1
حرف { مي تواند در همان خطي كه دستور struct آمده است نباشد . 2
دستور structبه ; ختم مي شود .
با مطالبي كه تاكنون گفته شد، روش تعريف نوع ساختمان مشخص گرديد. ولي تعريف
ساختمان براي استفاده از آن كافي نيست . بلكه پس از تعريف نوع ساختمان بايد
متغيرهايي از اين نوع را تعريف كرده وسپس اين متغيرها را در برنامه بكارگرفت .
براي روشن شدن موضوع ، يادآوري مي كنيم كه intو floatو دو نوع تعريف شده براي
كامپيوتر هستند كه بايد متغيرهايي از اين نوع ها تعريف و سپس از آنها استفاده
گردد . تعريف متغيرهايي از نوع ساختمان به دو روش امكان پذير است :
روش اول ) پس از تعريف نوع ساختمان ، متغيرهاي از نوع ساختمان با دستور struct
تعريف مي شوند .
در اين روش از شكل كلي زير استفاده مي شود : ;
نوع ساختمان <اسامي متغيرهاي ساختمان >struct "
نوع ساختمان " ، اسمي است كه قبلا" در دستور struct ساختار آن مشخص شده
است . " اسامي متغيرهاي ساختمان " ، متغيرهايي را مشخص مي كند كه بايد از نوع
ساختماني كه اسم آن در نوع ساختمان مشخص شده است باشد . اگر تعداد اين متغيرها
بيش از يكي باشد با كاما از يكديگر جدا مي شوند . بعنوان مثال ، دستور struct personel p1/p2;

دو متغير ساختمان به اسامي p1و p2و را تعريف مي كند كه از نوع ساختمان personel
هستند .
روش دوم ) در حين تعريف نوع ساختمان ( بلافاصله پس از تعريف نوع ) اسامي
متغيرهاي ساختمان مشخص مي گردند .
در اين روش از شكل كلي زير استفاده مي شود . {
اسم ساختمان struct
اجزاي ساختمان ;
اسامي متغيرهاي ساختمان }
در اين روش ، ذكر اسم ساختمان اجباري نيست . در دستور زير دقت كنيد : struct {
char name [31];
int persno;
int salary;
} p1/p2;

دستور فوق دو متغير ساختمان به اسامي p1و p2و را تعريف مي كند كه ساختار خص شده است .


نویسنده مطلب : لوتوس   \  تاریخ درج : جمعه 4 آذر1384   14:48 \

ساختمان ها

دسته بندی : / لینک ثابت

قبلا" مشاهده كرديم كه چگونه يك متغير ، يك قلم از داده را در خود نگهداري
مي كند و همچنين ديديم كه چگونه مي توان چند عنصر همنوع را در يك آرايه ذخيره
كرد . گاهي لازم است ، چند عنصر غير همنوع را تحت يك نام در حافظه ذخيره نمود .
ولي با مطالبي كه تاكنون گفته شد انجام اين كار ممكن نيست . بعنوان مثال ، اگر
بخواهيم اطلاعات مربوط به كارمندان موسسه اي را كه شامل نام كارمند ( از نوع
كاراكتري ) ، شماره كارمندي ( از نوع عدد صحيح ) ، حقوق ( از نوع عددي صحيح )
غيره است ، تحت يك نام ذخيره كنيم . در اين صورت متغير معمولي و آرايه جوابگوي
نياز ما نيستند . براي رفع اين مشكل در زبان C ، از نوعي داده به نام ساختمان
استفاده مي شود . بنابراين مي توان گفت كه : " ساختمان " در زبان C نامي براي ه اي از متغيرها است كه اين متغيرها مي توانند همنوع نباشند .
نویسنده مطلب : لوتوس   \  تاریخ درج : جمعه 4 آذر1384   14:46 \