- Timestamp:
- May 24, 2024, 2:18:56 PM (3 months ago)
- Branches:
- master
- Children:
- a4808ad
- Parents:
- c721105
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/mike_brooks_MMath/programs/bkgd-carray-mdim.c
rc721105 rdf699e0 14 14 15 15 int main() { 16 float a [3][10];17 static_assert(sizeof(float) ==4); $\C{// floats (atomic elements) are 4 bytes}$18 static_assert(sizeof(void*) ==8); $\C{// pointers are 8 bytes}$16 float ar[3][10]; 17 static_assert(sizeof(float) == 4); $\C{// floats (atomic elements) are 4 bytes}$ 18 static_assert(sizeof(void*) == 8); $\C{// pointers are 8 bytes}$ 19 19 20 static_assert(sizeof( a) == 120); $\C{// the array, float[3][10]}$21 static_assert(sizeof( a[0] ) == 40);$\C{// its first element, float[10]}$22 static_assert(sizeof( a[0][0] ) == 4); $\C{// its first grand element, float}$20 static_assert(sizeof(ar) == 120); $\C{// the array, float[3][10]}$ 21 static_assert(sizeof(ar[0]) == 40); $\C{// its first element, float[10]}$ 22 static_assert(sizeof(ar[0][0]) == 4); $\C{// its first grand element, float}$ 23 23 24 static_assert(sizeof(&(a )) == 8); $\C{// pointer to the array, float(*)[3][10]}$25 static_assert(sizeof(&(a [0])) == 8); $\C{// pointer to its first element, float(*)[10]}$26 static_assert(sizeof(&(a [0][0])) == 8); $\C{// pointer to its first grand-element, float*}$24 static_assert(sizeof(&(ar)) == 8); $\C{// pointer to the array, float(*)[3][10]}$ 25 static_assert(sizeof(&(ar[0])) == 8); $\C{// pointer to its first element, float(*)[10]}$ 26 static_assert(sizeof(&(ar[0][0])) == 8); $\C{// pointer to its first grand-element, float*}$ 27 27 28 float (*pa )[3][10] = &(a);29 float (*pa0 ) [10] = &(a[0]);30 float *pa00 = &(a[0][0]);28 float (*pa)[3][10] = &(ar); 29 float (*pa0)[10] = &(ar[0]); 30 float *pa00 = &(ar[0][0]); 31 31 32 static_assert((void*)&a == (void*)&(a[0]));33 static_assert((void*)&a == (void*)&(a[0][0]));32 static_assert((void*)&ar == (void*)&(ar[0] )); 33 static_assert((void*)&ar == (void*)&(ar[0][0])); 34 34 35 assert( (void *) pa == (void *) pa0 35 assert( (void *) pa == (void *) pa0 ); 36 36 assert( (void *) pa == (void *) pa00 ); 37 37 … … 41 41 b[i] = malloc(sizeof(float[10])); 42 42 } 43 a [2][3];43 ar[2][3]; 44 44 b[2][3]; 45 45 /* … … 50 50 51 51 // Local Variables: // 52 // compile-command: "sed -f sedcmd bkgd-carray-mdim.c | gcc -x c -" //52 // compile-command: "sed -f sedcmd bkgd-carray-mdim.c | gcc-11 -Wall -Wextra -x c -" // 53 53 // End: //
Note: See TracChangeset
for help on using the changeset viewer.