宏定义的问题
#define SATCK_INIT_SIZE 10这句话是说分配一个内存为10的空间吗?还是说分配元素个数为10的空间?我看到malloc那里用的是*乘号所以不太明白
mallocSATCK_INIT_SIZE*(sizeof(int)); malloc(SATCK_INIT_SIZE * sizeof(int));
你要申请的空间必须注明是什么数据类型,以及你需要的个数 申请一块连续的内存空间
这块内存空间的大小是STACK_INIT_SIZE*sizeof(int)
也就是申请十个整型大小的内存空间
C语言中一个整型数据占用的空间在不同的硬件上可能不同,一般而言一个整型数据占用4个字节即32位,
以此作为基础的话,你申请了10*4=40byte大小的连续内存空间
页:
[1]