#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
int ( *array
)[10] = malloc( sizeof(int ) * 20 * 10 ); for( size_t i = 0 ; i < 20 ; i++ )
for( size_t j = 0 ; j < 10 ; j++ )
array[i][j] = i * 100 + j;
for( size_t i = 0 ; i < 20 ; i++ )
{
for( size_t j = 0 ; j < 10 ; j++ )
{
printf( "%5d " , array
[i
][j
] ); }
}
array
= realloc( array
, sizeof( int ) * 15 * 10 );
for( size_t i = 0 ; i < 15 ; i++ )
{
for( size_t j = 0 ; j < 10 ; j++ )
{
printf( "%5d " , array
[i
][j
] ); }
}
int (*newarray)[3] = ( int(*)[3] )array;
for( size_t j = 1 ; j < 15 ; j++ )
{
memmove( newarray
[j
] , array
[j
] , sizeof( int ) * 3 ); }
newarray
= realloc( array
, sizeof( int ) * 15 * 3 );
for( size_t i = 0 ; i < 15 ; i++ )
{
for( size_t j = 0 ; j < 3 ; j++ )
{
printf( "%5d " , newarray
[i
][j
] ); }
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKaW50IG1haW4odm9pZCkgewoJaW50ICggKmFycmF5IClbMTBdID0gbWFsbG9jKCBzaXplb2YoaW50ICkgKiAyMCAqIDEwICk7Cglmb3IoIHNpemVfdCBpID0gMCA7IGkgPCAyMCA7IGkrKyApCgkgICAgZm9yKCBzaXplX3QgaiA9IDAgOyBqIDwgMTAgOyBqKysgKQoJICAgICAgICAgIGFycmF5W2ldW2pdID0gaSAqIDEwMCArIGo7CgkgICAgICAgICAgCgkgICAgICAgICAgCgkKCWZvciggc2l6ZV90IGkgPSAwIDsgaSA8IDIwIDsgaSsrICkKCXsKCQlmb3IoIHNpemVfdCBqID0gMCA7IGogPCAxMCA7IGorKyApCQoJCXsKCQkJcHJpbnRmKCAiJTVkICIgLCBhcnJheVtpXVtqXSApOwoJCX0KCQlwcmludGYoICJcbiIgKTsKCX0JCgoJYXJyYXkgPSByZWFsbG9jKCBhcnJheSAsIHNpemVvZiggaW50ICkgKiAxNSAqIDEwICk7CgkKCXByaW50ZiggIlxuXG4iICk7Cglmb3IoIHNpemVfdCBpID0gMCA7IGkgPCAxNSA7IGkrKyApCgl7CgkJZm9yKCBzaXplX3QgaiA9IDAgOyBqIDwgMTAgOyBqKysgKQkKCQl7CgkJCXByaW50ZiggIiU1ZCAiICwgYXJyYXlbaV1bal0gKTsKCQl9CgkJcHJpbnRmKCAiXG4iICk7Cgl9CQoKCWludCAoKm5ld2FycmF5KVszXSA9ICggaW50KCopWzNdIClhcnJheTsKCWZvciggc2l6ZV90IGogPSAxIDsgaiA8IDE1IDsgaisrICkKCXsKCSAgICBtZW1tb3ZlKCBuZXdhcnJheVtqXSAsIGFycmF5W2pdICwgc2l6ZW9mKCBpbnQgKSAqIDMgKTsKCX0KCQoJbmV3YXJyYXkgPSByZWFsbG9jKCBhcnJheSAsIHNpemVvZiggaW50ICkgKiAxNSAqIDMgKTsKCQoJCglwcmludGYoICJcblxuIiApOwoJZm9yKCBzaXplX3QgaSA9IDAgOyBpIDwgMTUgOyBpKysgKQoJewoJCWZvciggc2l6ZV90IGogPSAwIDsgaiA8IDMgOyBqKysgKQkKCQl7CgkJCXByaW50ZiggIiU1ZCAiICwgbmV3YXJyYXlbaV1bal0gKTsKCQl9CgkJcHJpbnRmKCAiXG4iICk7Cgl9CglyZXR1cm4gMDsKfQo=