69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<string.h>
void ifStruct(void *indata)
{
if (NULL == indata) //传入的地址为空,才会执行这个分支,那到底indata是空指针吗?
{
printf("结构体指针指向空\n");
return;
}
printf("结构体指针不指向空\n");
return;
}
int main()
{
typedef struct student
{
int id;
char name[10];
}Student;
Student std; //在栈上创建了Student类的实例对象,该对象占用内存空间,&std是有值的。
memset(&std, 0, sizeof(std));
ifStruct(&std); //实参&std有值,传递到函数中,形参indata也有值,不是空指针。
//可以在这行设置断点,调试中止后看一下std的值就清楚了
return 0;
}