Composite data type
કોમ્પ્યુટર વિજ્ઞાનમાં, સંયુક્ત ડેટા પ્રકાર અથવા સંયોજન ડેટા પ્રકાર એ કોઈપણ ડેટા પ્રકાર છે જે પ્રોગ્રામિંગ ભાષાના આદિમ ડેટા પ્રકારો અને અન્ય સંયુક્ત પ્રકારોનો ઉપયોગ કરીને પ્રોગ્રામમાં બનાવી શકાય છે. તેને કેટલીકવાર માળખું અથવા એકંદર પ્રકાર કહેવામાં આવે છે, જો કે પછીનો શબ્દ એરે, સૂચિ વગેરેનો પણ ઉલ્લેખ કરી શકે છે. સંયુક્ત પ્રકારના નિર્માણની ક્રિયાને રચના તરીકે ઓળખવામાં આવે છે. સંયુક્ત માહિતીના પ્રકારો ઘણીવાર સ્કેલર ચલ સાથે વિરોધાભાસી હોય છે. સી/સી + + માળખાં અને વર્ગો એ માળખું એ સી અને સી + + ની સંયુક્ત પ્રકારની કલ્પના છે, એક ડેટા પ્રકાર જે લેબલ કરેલા ક્ષેત્રો અથવા સભ્યોના નિશ્ચિત સમૂહની રચના કરે છે. તે તેમને જાહેર કરવા માટે ઉપયોગમાં લેવાતા માળખા મુખ્ય શબ્દને કારણે કહેવામાં આવે છે, જે માળખા માટે ટૂંકું છે અથવા, વધુ ચોક્કસપણે, વપરાશકર્તા-નિર્ધારિત ડેટા માળખું છે. સી + + માં, માળખા અને વર્ગ વચ્ચેનો એકમાત્ર તફાવત મૂળભૂત પ્રવેશ સ્તર છે, જે વર્ગો માટે ખાનગી છે અને માળખા માટે જાહેર છે. નોંધ લો કે જ્યારે વર્ગો અને વર્ગ મુખ્ય શબ્દ સી + + માં સંપૂર્ણપણે નવા હતા, ત્યારે સી પ્રોગ્રામિંગ ભાષામાં પહેલેથી જ કાચા પ્રકારની રચનાઓ હતી. તમામ હેતુઓ અને હેતુઓ માટે, C + + માળખાઓ C માળખાઓનું સુપરસેટ બનાવે છેઃ વર્ચ્યુઅલ રીતે તમામ માન્ય C માળખાઓ સમાન સિમેન્ટિક્સ સાથે માન્ય C + + માળખાઓ છે. ઘોષણા એ માળખાની ઘોષણામાં ક્ષેત્રોની યાદી હોય છે, જેમાંના દરેકમાં કોઈપણ પ્રકાર હોઈ શકે છે. સ્ટ્રક્ટ ઓબ્જેક્ટ માટે જરૂરી કુલ સંગ્રહ એ તમામ ક્ષેત્રોની સંગ્રહ જરૂરિયાતો, વત્તા કોઈપણ આંતરિક પેડિંગનો સરવાળો છે. ઉદાહરણ તરીકેઃ માળખું ખાતું {પૂર્ણાંક ખાતું _ નંબર; ચાર * પ્રથમ નામ; ચાર * છેલ્લું નામ; ફ્લોટ બેલેન્સ;}; એક પ્રકારને વ્યાખ્યાયિત કરે છે, જેને માળખું ખાતું તરીકે ઓળખવામાં આવે છે. આ પ્રકારનું નવું ચલ બનાવવા માટે, આપણે સ્ટ્રક્ટ એકાઉન્ટ માય એકાઉન્ટ લખી શકીએ છીએ; જેમાં પૂર્ણાંક ઘટક હોય છે, જેને myAccount.account_number દ્વારા એક્સેસ કરવામાં આવે છે, અને ફ્લોટિંગ-પોઇન્ટ ઘટક હોય છે, જેને myAccount.balance દ્વારા એક્સેસ કરવામાં આવે છે, તેમજ ફર્સ્ટ નેમ અને લાસ્ટ નેમ ઘટકો પણ હોય છે. માય એકાઉન્ટ માળખું તમામ ચાર મૂલ્યો ધરાવે છે, અને તમામ ચાર ક્ષેત્રો સ્વતંત્ર રીતે બદલી શકાય છે. કોડમાં સ્ટ્રક્ટ એકાઉન્ટ વારંવાર લખવું બોજારૂપ બની જાય છે, તેથી સ્ટ્રક્ટ માટે વધુ અનુકૂળ સમાનાર્થી પ્રદાન કરવા માટે સી કોડમાં ટાઇપેડેફ સ્ટેટમેન્ટ જોવું અસામાન્ય નથી. જો કે, કેટલાક પ્રોગ્રામિંગ શૈલી માર્ગદર્શિકાઓ આની વિરુદ્ધ સલાહ આપે છે, અને દાવો કરે છે કે તે પ્રકારને અસ્પષ્ટ કરી શકે છે. ઉદાહરણ તરીકેઃ ટાઈપડેફ સ્ટ્રક્ટ એકાઉન્ટ _ {int એકાઉન્ટ _ નંબર; ચાર * ફર્સ્ટ _ નેમ; ચાર * લાસ્ટ _ નેમ; ફ્લોટ બેલેન્સ;} એકાઉન્ટ; સી + + કોડમાં, ટાઇપડેફની જરૂર નથી કારણ કે સ્ટ્રક્ટનો ઉપયોગ કરીને વ્યાખ્યાયિત પ્રકારો પહેલેથી જ નિયમિત નેમસ્પેસનો ભાગ છે, તેથી પ્રકારને સ્ટ્રક્ટ એકાઉન્ટ અથવા ફક્ત એકાઉન્ટ તરીકે સંદર્ભિત કરી શકાય છે. અન્ય ઉદાહરણ તરીકે, ત્રિ-પરિમાણીય વેક્ટર સંયુક્ત પ્રકાર કે જે ફ્લોટિંગ પોઇન્ટ ડેટા પ્રકારનો ઉપયોગ કરે છે તેની સાથે બનાવી શકાય છેઃ સ્ટ્રક્ટ વેક્ટર {ફ્લોટ x; ફ્લોટ y; ફ્લોટ z;}; વેક્ટર સંયુક્ત પ્રકાર સાથે વેગ નામના ચલને વેક્ટર વેગ તરીકે જાહેર કરવામાં આવશે; વેગના સભ્યોને ડોટ નોટેશનનો ઉપયોગ કરીને એક્સેસ કરવામાં આવશે. ઉદાહરણ તરીકે, velocity.x = 5; 5 ની બરાબર વેગના x ઘટકને સુયોજિત કરશે. તેવી જ રીતે, 3D ગ્રાફિક્સમાં, તમારે સામાન્ય રીતે દરેક શિરોબિંદુની સ્થિતિ અને રંગ બંનેનો ટ્રેક રાખવો જોઈએ, તેનો ઉપયોગ કરીને રંગ માળખું બનાવી શકાય છેઃ માળખું રંગ {સહી વગરનો ઇન્ટ લાલ; સહી વગરનો ઇન્ટ લીલો; સહી વગરનો ઇન્ટ વાદળી;}. આવું કરવાની એક રીત એ હશે કે અગાઉ બનાવેલા વેક્ટર અને રંગ સંયુક્ત પ્રકારોનો ઉપયોગ કરીને વર્ટેક્સ સંયુક્ત પ્રકાર બનાવવોઃ સ્ટ્રક્ટ વર્ટેક્સ {વેક્ટર પોઝિશન; રંગ રંગ;}; ઇન્સ્ટન્ટિયેશન અગાઉની જેમ જ ફોર્મેટનો ઉપયોગ કરીને સ્ટ્રક્ટ વર્ટેક્સ પ્રકારનો ચલ બનાવોઃ વર્ટેક્સ વી; સભ્યને ઍક્સેસ કરો તેથી વીના ઘટકોને મૂલ્યો સોંપોઃ v.position.x = 0.0; v.position.y = 1.5; v.position.z = 0.0; v.color.red = 128; v.color.green = 0; v.color.blue = 255; પ્રિમિટિવ સબટાઇપ સ્ટ્રક્ટનો પ્રાથમિક ઉપયોગ જટિલ ડેટટાઇપ્સના નિર્માણ માટે થાય છે, પરંતુ કેટલીકવાર તેનો ઉપયોગ આદિમ માળખાકીય સબટાઇપિંગ બનાવવા માટે થાય છે. ઉદાહરણ તરીકે, પ્રમાણભૂત C માટે જરૂરી છે કે જો બે માળખાઓમાં સમાન પ્રારંભિક ક્ષેત્રો હોય, તો તે ક્ષેત્રોને તે જ રીતે રજૂ કરવામાં આવશે, કોડ માળખું ifooo _ old _ stub {long x, y;}; સંરચના ifooo _ આવૃત્તિ _ 42 {long x, y, z; ચર * નામ; લાંબા a, b, c;}; રદબાતલ ઓપરેટિંગ _ on _ ifoo (સ્ટ્રક્ટ ifooo _ old _ stub *); સ્ટ્રક્ટ ifooo _ આવૃત્તિ _ 42s;. . . ઑપરેટ _ ઓન _ આઇફૂ (& ઓ); યોગ્ય રીતે કામ કરશે. પ્રકાર સહી પ્રકાર સહીઓ (અથવા કાર્ય પ્રકારો) આદિમ અને સંયુક્ત પ્રકારોમાંથી બનાવવામાં આવે છે, અને સંયુક્ત પ્રકારોનું નિર્માણ કરતી વખતે પોતાને પ્રકારો તરીકે સેવા આપી શકે છેઃ ટાઇપેડેફ સ્ટ્રક્ટ {પૂર્ણાંક x; પૂર્ણાંક y;} પોઇન્ટ; ટાઇપેડેફ ડબલ (* મેટ્રિક) (બિંદુ p1, બિંદુ p2); ટાઇપેડેફ સ્ટ્રક્ટ {બિંદુ કેન્દ્ર; બેવડી ત્રિજ્યા; મેટ્રિક મેટ્રિક;} વર્તુળ; ઑબ્જેક્ટ કમ્પોઝિશન સ્ટ્રક્ટ (સી પ્રોગ્રામિંગ લેંગ્વેજ) સ્કેલર (ગણિત) સંદર્ભો પણ જુઓ ડેટા પ્રકારો પ્રકાર સિદ્ધાંત લેખ ઉદાહરણ તરીકે સી કોડ સાથે લેખ C + + કોડ સાથે