第三次学习记录

第三次学习记录,第1张

第三次学习记录

#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;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5636064.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存