diffblue-cbmc/regression/cbmc/Array_Initialization3/main.c

38 lines
733 B
C

#include <assert.h>
int array1[2][2] = {
{1, 2},
{3, 4}
};
int array2[]={ [1]=10, [2]=20, [3]=30, [10]=100 };
extern int array3[8];
int array3[]={ 1, 2, 3, 4, 5, 6, 7, 8 };
int array4[2] = { [1] 42 };
int array5[2][2] = { { 42, 42 }, {[1] 42 } };
int array6[2][2] = { [1] {[1] 42 } };
typedef int var_a[];
var_a array7 = { 1, 2 };
var_a array8 = { 1, 2, 3 };
int main(void)
{
assert(array1[0][1]==2);
assert(array1[1][0]==3); // returned false in this case
assert(array2[0]==0);
assert(array2[1]==10);
assert(array2[10]==100);
assert(sizeof(array2)==sizeof(int)*11);
assert(sizeof(array3)==sizeof(int)*8);
assert(sizeof(array7)==sizeof(int)*2);
assert(sizeof(array8)==sizeof(int)*3);
return 0;
}