自学C语言第七天test-8-7

#include <stdio.h>
//指针:
//内存     \现实生活中
//4G            ——>(需要地址)
//8G                空间
//空间
//1.内存是怎样编号的?
//2.一个这样的内存单元是多大的空间?
//32位机器 - 32根地址线 - 物理线 - 通电 - 1/0
//64位机器.....
//电信号转换成数字信息:1和0组成的二进制序列(总共2^32个内存单元)
//假设一个内存单元是1bit(2^32 = 4294967296bit/8 = 536870912Byte/1024 = 524288kb/1024 = 512MB/1024 = 0.5GB
//因为最小单位也是char类型也是一个字节(Byte)
//最终一个内存单位是1Byte

//指针变量
//int main() {
//    int a = 10;//a在内存中要分配空间 - 4个字节
//    printf("%p\n", &a); //%p 专门打印地址
//
//    int *pa = &a; //pa是用来存在地址的,在C语言中pa叫指针变量
//
//    //*说明 pa是指针变量
//    //int 说明pa执行的对象是int类型
//
//    char ch = 'w';
//    char *pc = &ch;
//
//    return 0;
//}

//int main() {
//    int *pa = &pa;
//
//    return 0;
//
//}

//指针 就是 地址

//int main() {
//    int a = 10;
//
//    int *pa = &a;
//
//    *pa = 20;//* 解引用操作符 | *pa就是通过pa里的地址,找到a
//
//    printf("%d\n", a);
//
//    return 0;
//}

//

//int main() {
//
//    printf("%d\n", sizeof(char *));//8
//    printf("%d\n", sizeof(short *));//8
//    printf("%d\n", sizeof(int *));//8
//    printf("%d\n", sizeof(long *));//8
//    printf("%d\n", sizeof(long long *));//8
//    printf("%d\n", sizeof(float *));//8
//    printf("%d\n", sizeof(double *));//8
//
//    return 0;
//}
//指针的大小是相同的!
//为什么呢?
//指针是用来地址的!
//指针需要多大空间,取决于地址的储存需要多大的空间
//32位 - 32bit - 4Byte
//64位 - 64bit - 8Byte

//结构体可以让C语言创建新的类型出来

//创建一个学生

//struct Stu {
//    char name[20];//成员变量
//    int age;
//    double score;
//};
//
创建一个书的类型
//struct Book {
//    char name[20];
//    float price;
//    char id[30];
//};
//
//int main() {
//    struct Stu s = {"张三", 20, 85.5}; //结构体的创建和初始化
//    printf("1:%s %d %lf\n", s.name, s.age, s.score); //结构体变量.成员变量
//
//    struct Stu *ps = &s;
//    printf("2:%s %d %lf\n", (*ps).name, (*ps).age, (*ps).score);
//
//    printf("3:%s %d %lf\n", ps->name, ps->age, ps->score);//->使用限制:结构体指针->成员变量名
//    return 0;
//}

//初识C语言结束


//作业:
//C99 标准中引入一个概念:变长数组
//支持数组创建的时候,用变量指定大小的,但是这个数组不能初始化
//vs2019 不支持C99中变长数组
//dev c++支持

//int main() {
//    int n = 10;
//    int arr[n] = {0};
//
//    return 0;
//}

//int main() {
//    printf("%d\n", strlen("c:\test\121"));
//    return 0;
//}

//MAX - 一般不建议把函数名写成全大写
//int Max(int x, int y) {
//
//    if (x > y)
//        return x;
//    else
//        return y;
//}
//
//int main() {
//    int a = 0;
//    int b = 0;
//    scanf("%d %d", &a, &b);
//    int m = Max(a, b);
//    printf("%d\n", m);
//
//    return 0;
//}

//int sum(int a) {
//    int c = 0;
//    static int b = 3;
//    c += 1;
//    b += 2;
//    return (a + b + c);
//}
//int main() {
//    int i;
//    int a = 2;
//    for (i = 0; i < 5; i++) {
//        printf("%d,", sum(a));
//    }
//}

//int main() {
//    printf("      **       \n");
//    printf("      **       \n");
//    printf("***************\n");
//    printf("***************\n");
//    printf("     *  *      \n");
//    printf("     *  *      \n");
//    return 0;
//}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值