很久没有使用Visual Studio2019 然后运行代码时发现控制命令台跟以前不一样,出现以下图片样子请问如何恢复初始控制台
你这控制台挺有意思,还能直接在界面新建一个,这UI设计一看就是Win 11吧
我是win 10 的VS2019
你这就是运行的时候不小心把下面的窗口拽出来,变成浮动窗体了
鼠标点击控制台的title栏,拽住,往下面挪,出现小窗松手,它就平铺排列了
代码: .c报错,.cpp不会报错;
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
static int *pi = (int *)malloc(sizeof(int));
*pi = 520;
printf("*pi = %d\n", *pi);
return 0;
}
解决办法:
静态分配的变量,都是在编译时刻就决定了地址和初始值的来源
malloc是个运行时刻的函数
上面程序如果编译会报错,这是因为初始化静态变量时不能调用函数。static 声明的变量在程序运行过程中是始终存在的,通常在 main 函数运行之前就完成了初始化过程。*4='q?"KR
,D:NB3H' q2`?Koh9.;(
但 malloc 函数的调用是在 main 函数之后进行的,所以从概念上来说,static 声明的变量不可能通过调用库函数来进行初始化。同样的道理,这个规则对于全局变量来讲也是一样的!Li?Q>8o7Y#
!DUX@9V~ I>f+Ase}Wj`vlgKYa4EJ8
对于静态变量来说,可以通过在后面用一个单独的语句给变量分配内存来避免这个问题:n
……
static int *pi;
pi = (int *)malloc(sizeof(int));
……