cheyhu 发表于 2018-9-28 00:25:13

宏定义的问题

#define SATCK_INIT_SIZE 10
这句话是说分配一个内存为10的空间吗?还是说分配元素个数为10的空间?我看到malloc那里用的是*乘号所以不太明白
mallocSATCK_INIT_SIZE*(sizeof(int));

claws0n 发表于 2018-9-28 00:48:03

malloc(SATCK_INIT_SIZE * sizeof(int));
你要申请的空间必须注明是什么数据类型,以及你需要的个数

小腿跑乱刀 发表于 2018-9-28 00:49:21

申请一块连续的内存空间
这块内存空间的大小是STACK_INIT_SIZE*sizeof(int)
也就是申请十个整型大小的内存空间

C语言中一个整型数据占用的空间在不同的硬件上可能不同,一般而言一个整型数据占用4个字节即32位,
以此作为基础的话,你申请了10*4=40byte大小的连续内存空间
页: [1]
查看完整版本: 宏定义的问题