首页 > 代码库 > C/C++

C/C++

关于编译器的部分:

malloc 和 sizeof:

#include <stdio.h>#include <stdlib.h>int main(void){    int *p;    p=malloc(sizeof(int));    *p=2;    printf("*p= %d ,sizeof(‘a‘)=%d\n",*p,sizeof(a));    return 0;}

在GCC编译器下:

在C++的编译器下:

提示出错,对于malloc函数的返回值要显示的表明,将语句改为:

p=(int*)malloc(sizeof(int));

然后来看结果:

 

通过结果,同时可以看到的是:

C++编译器对字符串常量‘a‘是当作一个char型

C编译器对于字符串常量‘a‘是当作一个int型

C/C++