标签 c 下的文章

int*int 说起

int**是什么” 这个问题其实不难。
我们可以递归分析,先看下 int*是什么,嗯?好像还可以继续递归到 int
我们都知道,int是 C 的基础数据类型 整型,而多了个 *int*指向整型变量的指针,那么 int** 是什么就不言自明了,列个表:

C语法释义
int整型
int*指向整型的指针
int**指向指向整型的指针的指针

看到这里,你对 int** 应该有了个初步的认识,但你可能觉得有点绕,没关系,下面我们写一段代码看看:

- 阅读剩余部分 -

某天突然想了个关于结构体的问题,由于很久没有接触 C 语言,一开始并不知道其实这个问题本身就存在语法错误的问题,但正是因为对 C 知识的遗忘,才有了这次探索与巩固。

0x00 最初的问题

假设有如下结构体:

struct foo
{
    /* some other variables...*/
    struct foo bar;
};

那么我在定义一个 foo 变量的时候,

int main()
{
    struct foo hello;
    return 0;
}

会不会因为结构体里有一个循环引用而造成“内存爆炸”呢?

- 阅读剩余部分 -