int *p,sizeof(p) 输出多少?
对于这个问题,我们知道,指针的大小和指针的类型相关,那么int 型指针的长度其实就是整形的长度。那么整形的长度是多少呢,4个字节?大部分是对的,但是,int其实是平台相关的,对于普通的32位系统,int类型就是4个字节,像X86,32位的arm等,但是64位系统就是8个字节了。所以,最好的方法就是在要获取变量的长度时使用sizeof,因为sizeof是是和平台相关的,都会获取到正确的值。
疑惑二
结构体的大小怎么计算
这个问题涉及到内存边界对齐,这是为了提高内存访问效率而做出的优化,32位系统默认4字节对齐,像char这种不满4字节的会补全至4字节。所以,对于结构体的大小计算一定要使用sizeof。当然,我们也可以在写代码时使用#pragma pack(对齐字节数)来指定结构体的具体对齐方式。
疑惑三
前端工程师和程序猿有什么区别?
其实网友的回答已经很准确了,就是这样。