为什么感觉c语言到处都是指针?
在学习c语言和c++时，总是感觉很多地方都有指针和地址。
你的感觉是对的。C语言本来就到处都是指针，甚至包括一些你不注意到的地方也是指针。以大多数人的第一个程序hello world为例：

            int main()    {        printf("hello world\n");    }

你觉得这个hello world里有没有指针？答案是—— **全是指针** 。

我们知道，指针可以使用

            printf("p=%p\n",p);

把指针的值打印出来。

那我们不妨把hello world里的指针都打印出来：

            int main()    {        printf("hello world\n");                printf("main=%p\n",main);        printf("printf=%p\n",printf);        printf("hello world=%p\n","hello world\n");    }

编译，没有报错。运行，得到的结果如下：

            hello world    main=0x55cab038367a    printf=0x7f3a99dbff70    hello world=0x55cab0383784

没错，这里面除了大括号小括号和分号以外，全是指针。main是函数指针，printf是函数指针，"hello world\n"是字符串指针。

这就是C语言。 **你不用指针，连hello world都写不出来** 。