#include
//int main()
//{
// int a = 0;
// printf("%dn", ~a);//答案为-1
// //~把二进制中的数字,1变0,0变1
// //00000000000000000000000000000000
// //~
// // 在计算机的中储存的是补码
// //11111111111111111111111111111111原码
// //10000000000000000000000000000000反码
// //反码+1=补码
// //10000000000000000000000000000001补码
// //即为-1
// return 0;
//}
//int main()
//{
// int a = 10;
// int b = a++;
// int a2 = 10;
// int b2 = ++a2;
// //a++和++a的区别
// //a++先使用,再++
// //++a先++,再使用
// printf("%dn", a);
// printf("%dn", b);
// printf("%dn", a2);
// printf("%dn", b2);
// return 0;
//}
//int main()
//{
// int a = (int)3.14;
// //这里的(int)为强制类型转化,不推荐使用
// printf("%dn", a);
// return 0;
//}
//&&与
//||或
//int main()
//{
// int a = 0;
// int b = 1;
// int c = a > b ? a : b;
// printf("%dn", c);
// return 0;
//}
//exp?exp1:exp2
//exp成立输出exp1,否则就是exp2
//int main()
//{
// register int a = 0;
// //register建议把a=0放在寄存器里面,速度快
// return 0;
//}
//typedef unsigned int u_int;
//int main()
//{
// u_int a = 0;
// return 0;
//}
//typedef类型的重定义
//void test()
//{
// static int a = 1;
// //static改变了局部变量的生命周期
// a++;
// printf("%dn", a);
//}
//int main()
//{
// int i = 1;
// while (i < 10)
// {
// test();
// i++;
// }
// return 0;
//}
extern int g_val;
extern 声明外部符号
static修饰的全局变量,只能在自己所在的源文件使用
//int main()
//{
// printf("%dn", g_val);
// return 0;
//}
//define定义宏
//#define ADD(X,Y) ((X)+(Y))
//int main()
//{
// printf("%dn", 4 * ADD(3, 4));
// return 0;
//}
//int main()
//{
// int a = 10;
// printf("%pn", &a);//%p打印十六位,&取地址
// int* pa = &a;//*说明pa是指针变量
// char ch = 'w';
// char* pch = &ch;
// printf("%pn", pch);
// return 0;
//
//}
//int main()
//{
// int a = 10;
// int* pa = &a;
// *pa = 20;
// printf("%dn", a);
// return 0;
//}//通过a的地址pa来改变a
//int main()
//{
// printf("%dn", sizeof(char*));
// printf("%dn", sizeof(short*));
// printf("%dn", sizeof(int*));
// printf("%dn", sizeof(long*));
// printf("%dn", sizeof(long long*));
// printf("%dn", sizeof(float*));
// printf("%dn", sizeof(double*));
// return 0;
//}//指针大小都是一样的,只和 *** 作系统有关系
struct stu
{
char name[20];
int age;
int score;
};
int main()
{
struct stu s=
{
"张三",20,90
};
struct stu* ps = &s;
printf("1:%s %d %dn", s.name, s.age, s.score);//结构体的创建和初始化
printf("2:%s %d %dn", (*ps).name, (*ps).age, (*ps).score);
printf("3:%s %d %dn", ps->name, ps->age, ps->score);
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)