声明:C语言小问题系列 基本均来自《你必须知道的495个C语言问题》 一书 绝非原创哈 写下来 纯粹为了学习 也希望有更多的人可以看到 !
char *p;
*p=malloc(10);
这应该是想定义一个指针变量 并且为其分配一些空间 但是 这是错的
这里要搞清楚 p才是指针变量 *p不是 那么当我们操作指针本身的时候(比如当你对其进行赋值 使其指向别处时 ),只需要使用指针的名字即可
那么改成 p=malloc(10);就对啦
那么什么时候用*p呢
当我们操作指针所指向的内存时 才需要使用* 作为间接操作符
比如*p='H';
这句话char *p=malloc(10);是经常犯的错误 注意一下
总之记住 p是指针 *p是其指向的内容