<<戻る

メモリーマップを確認してみる。

 

#include <stdio.h>
#include <stdlib.h>

void hoge();
void fuga();

/* global */
char aaaa = 'a';
static bbbb = 'b';

const int cccc = 1;

int main(int argc, char *argv[]) {
                printf("main:%p\n", &main);
                printf("hoge:%p\n", &hoge);
                printf("fuga:%p\n", &fuga);
                printf("aaaa:%p\n", &aaaa);
                printf("bbbb:%p\n", &bbbb);
                printf("cccc:%p\n", &cccc);
                fuga();
                hoge();
}

void hoge() {
                int locl = 0;
                printf("locl:%p\n", &locl);
}
void fuga() {
                int *pint;

                /* malloc()関数でヒープ領域のポインタを渡す */
                pint = (int *) malloc(sizeof(int));

                printf("pint:%p\n", pint);

                free(pint);
}

 

以下のサイトを参考にさせていただきました。

http://www.mars.dti.ne.jp/~torao/program/general/memory.html