#include <stdio.h>
#include <stdlib.h>
void printData(int **data);
int main(void)
{
int Values[] = {4, 8, 15, 16, 23, 42};
const size_t N = sizeof(Values) / sizeof(*Values);
int **Data;
size_t i;
Data
= malloc(sizeof(*Data
) * (N
+ 1)); for (i = 0; i < N; i++ )
{
Data[i] = &Values[i];
}
Data[i] = NULL;
printData(Data);
return 0;
}
void printData(int **data)
{
size_t i = 0;
while (*data) {
printf("%zu. %d\n", i
++, *(*data
++)); }
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnZvaWQgcHJpbnREYXRhKGludCAqKmRhdGEpOwoKaW50IG1haW4odm9pZCkgCnsKICAgIGludCBWYWx1ZXNbXSA9IHs0LCA4LCAxNSwgMTYsIDIzLCA0Mn07CiAgICBjb25zdCBzaXplX3QgTiA9IHNpemVvZihWYWx1ZXMpIC8gc2l6ZW9mKCpWYWx1ZXMpOwogICAgaW50ICoqRGF0YTsKICAgIHNpemVfdCBpOwoKICAgIERhdGEgPSBtYWxsb2Moc2l6ZW9mKCpEYXRhKSAqIChOICsgMSkpOwogICAgZm9yIChpID0gMDsgaSA8IE47IGkrKyApCiAgICB7CiAgICAgICAgRGF0YVtpXSA9ICZWYWx1ZXNbaV07CiAgICB9CiAgICBEYXRhW2ldID0gTlVMTDsKICAgIHByaW50RGF0YShEYXRhKTsKICAgIGZyZWUoRGF0YSk7CiAgICByZXR1cm4gMDsKfQoKdm9pZCBwcmludERhdGEoaW50ICoqZGF0YSkKewogICAgc2l6ZV90IGkgPSAwOwoKICAgIHdoaWxlICgqZGF0YSkgewogICAgICAgIHByaW50ZigiJXp1LiAlZFxuIiwgaSsrLCAqKCpkYXRhKyspKTsKICAgIH0KfQ==