类型限定const volatile register
const:代表不可改变
volatile:代表值可能被CPU之外的外部设备修改。这个值就不会被编译器优化该变量
volatile int i;
它是被设计用来修饰被不同线程访问和修改的变量。volatile的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。
volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。
register int i;
变量i不在内存里面,而是直接放在CPU寄存器里面,提高了执行的效率。但是是建议型的指令。
桌面背景更换
#include<stdio.h>
#include<Windows.h>
#pragma warning(disable:4996)
int main()
{
int i ;
for(i=0;i<11;i++)
{
char str[15]={0};
sprintf(str,"D:\\temp\\%d.jpg",i);//格式化一个字符串
SystemParametersInfoA(20,0,str,3);//20代表设置系统桌面背景图,3代表立即生效
ShellExecuteA(NULL,"open","D:\\temp\\%d.mp3"); //打开某个程序
Sleep(2000);//间隔2秒钟
}
return 0;
}