register 关键字请求编译器将局部变量储存于寄存器中
1、C++中还坚持使用register关键字
2、C++编译器有自己的优化方式
C语言中无法获得register 变量的地址
C++中可以获得register 变量的地址
int f() 和 int f(void)有区别吗?
1) 在标准C语言中
- int f() 表示形参可以有任意多个
- int f(void) 表示不接收任何形参
两者没有区别,都表示不接收任何形参
#include <stdio.h>
int g_v;
//int g_v;
int main(int argc, char *argv[])
{
printf("Begin...\n");
int c = 0;
for(int i=1; i<=3; i++)
{
for(int j=1; j<=3; j++)
{
c += i * j;
}
}
printf("c = %d\n", c);
register int a = 0;
printf("&a = %p\n", &a);
printf("End...\n");
return 0;
}
#include <stdio.h>
struct Student
{
const char* name;
int age;
};
f(i)
{
printf("i = %d\n", i);
}
g()
{
return 5;
}
int main(int argc, char *argv[])
{
Student s1 = {"Delphi", 30};
Student s2 = {"Tang", 30};
f(10);
printf("g() = %d\n", g(1,2,3,4,5));
return 0;
}