学习日志 2015/01/28

来源:互联网 发布:淘宝网套装春秋女装 编辑:程序博客网 时间:2024/06/05 09:29

       今天读程序看到c中结构体的初始化是memset(&d,0,sizeof(d)),而数组的初始化是memset(arr,0,sizeof(arr))就产生疑问,难道结构体名不是指针吗?经过试验,结构体和对象名不是单纯的指针,只能按指针那么理解。这时,我又纠结sizeof函数为什么又能直接用变量名而不是和memset一样用引用之后才想明白sizeof是c/c++中的运算符,而不是函数。



#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;




struct demo{
int i;
char j;
};


void main(){
demo d;
memset(&d, 0, sizeof(d));//编译通过
memset(d, 0, sizeof(d));//编译失败
printf("%d", d);
system("pause");
}

0 0