基本信息
文件名称:内容说明复习08 machine data.pptx
文件大小:708 KB
总页数:19 页
更新时间:2025-05-20
总字数:约5.88千字
文档摘要

Machine-LevelProgrammingIV:

Data

Instructors:RandalE.BryantandDavidR.O’Hallaron张悠慧

ArraysOne-dimensionalMulti-dimensional(nested)Multi-levelStructuresAllocationAccessAlignment

ArrayAllocationBasicPrincipleTA[L];ArrayofdatatypeTandlengthLContiguouslyallocatedregionofL*sizeof(T)bytesinmemorycharstring[12];xx+12intval[5];xx+4x+8x+12x+16x+20doublea[3];x+24xx+8x+16char*p[3];xx+8x+16x+24

ArrayExampleDeclaration“zip_digcmu”equivalentto“intcmu[5]”Examplearrayswereallocatedinsuccessive20byteblocksNotguaranteedtohappeningeneral#defineZLEN5typedefintzip_dig[ZLEN];zip_digcmu={1,5,2,1,3};zip_digmit={0,2,1,3,9};zip_digucb={9,4,7,2,0};zip_digcmu;15213162024283236zip_digmit;02139364044485256zip_digucb;94720566064687276

Multidimensional(Nested)ArraysDeclarationTA[R][C];2DarrayofdatatypeTRrows,CcolumnsTypeTelementrequiresKbytesArraySizeR*C*KbytesArrangementRow-MajorOrderingA[0][0]A[0][C-1]A[R-1][0]??????????A[R-1][C-1]??????intA[R][C];?????A[0][0]A[0][C-1]?????A[1][0]A[1][C-1]?????A[R-1][0]A[R-1][C-1]?????4*R*CBytes

NestedArrayExample“zip_digpgh[4]”equivalentto“intpgh[4][5]”Variablepgh:arrayof4elements,allocatedcontiguouslyEachelementisanarrayof5int’s,allocatedcontiguously“Row-Major”orderingofallelementsinmemory#definePCOUNT4zip_digpgh[PCOUNT]={{1,5,2,0,6},{1,5,2,1,3},{1,5,2,1,7},{1,5,2,2,1}};zip_digpgh[4];769611613615615206152131521715221

?????NestedArrayRowAccessRowVectorsA[i]isarrayofCelementsEachelementoftypeTrequiresKbytesStartingaddressA+i*(C*K)?????A[i][0]A[i][C-1]A[i]?????A[R-1][0]A[R-1][C-1]A[R-1]?????A?????A[0][0]A[0][C-1]A[0]A+(i*C*4)A+((R-1)*C*4)intA[R][C];

Multi-LevelArrayExampleVariableunivdenotesarrayof3elementsEachelementisapointer8bytesEachpointerpointstoarrayofint’szip_digcmu={1,5,2,1,3};zip_digmit={