これはこの質問のフォローアップです: C でポインターが表す値を関数に変更させる
演習として、未定型の配列の値を変更するジェネリック関数を作成しようとしています。そう見えるはずだと思います。
void set_value(void * data, void * value, size_t size, int index){
void * position = data + index*size;
*position = *value;
}
もちろん、それはコンパイルされません。*position = *value は value のサイズの情報を使用しません (ここでは、データと値の両方が size_t サイズの smthg を指していると仮定しました)。
私が自分のプログラムに言おうとしているのは、「値が指すサイズのメモリのチャンクを取得し、位置が指すアドレスにコピーする」です。