【掲示板利用宣言】
次のフォームをすべてチェックしてからご利用ください。
私は 題名と投稿者名は具体的に書きます。 課題の丸投げはしません。 ソースの添付は「HTML変換ツール」で字下げします。 返信の引用は最小限にします。 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。 返信の付いた投稿は削除しません。 マルチポスト(多重投稿)はしません。
掲示板1
#include <stdio.h> #include <stdlib.h> int main(void) { void **s; int i; int array_size = 10; int element_size = sizeof(char *); s = (void *) malloc(array_size * element_size); for (i=0; i<10; i++) { printf("%p\n", &s[i]); } return 0; } 実行結果: 0x601010 0x601018 0x601020 0x601028 0x601030 0x601038 0x601040 0x601048 0x601050 0x601058
>配列各要素のアドレス配置が均一でないようです。 均一でないと判断されたのはなぜでしょうか? 出力結果は、16進で8バイトずつ増えていっています。 均一であると判断できるのではないでしょうか。
> int element_size = sizeof(char *); > s = (void *) malloc(array_size * element_size);