在C编程语言中,整数数据类型占用的内存为4个字节,如果我没记错的话,指向整数的指针占用的内存也为4个字节。以此类推,具有整数和指向另一个结构的指针的结构所占用的内存是什么?从理论上解释一下?
我在geeksforgeeks c语言IDE上运行了以下代码,它显示给我int的大小为4个字节,结构(节点)的大小为16个字节,这意味着指向结构的指针的大小(即结构中的第二个变量)是12。怎么可能?
#include <stdio.h>
int main() {
//code
struct student
{
int data;
struct student *ptr;
};
struct student s1;
printf("%lu\n",sizeof(int));
printf("%lu",sizeof(s1));
return 0;
}