美文网首页
C语言 day11

C语言 day11

作者: y_7539 | 来源:发表于2022-06-24 18:01 被阅读0次

数据的存储

数据在内存中以2进制的形式存储
整数在内存中存的是二进制的补码

大小端

大端字节序:把数据的低位字节序的内容放在高地址处,高位字节序的内容放在低地址处
小端字节序:把数据的低位字节序的内容放在低地址处,高位字节序的内容放在高地址处

//判断大小端
int main()
{
    int a = 1;
    char* p = (char*)&a;
    if (*p == 1)
        printf("小端");
    else
        printf("大端");
    return 0;
}

char到底是有符号还是无符号,取决于编译器
有符号的char取值范围是-128~127

浮点数存储

(-1)S*M*2E
S符号位,1bit,正数写0,负数写1
M 23bit,小数点后面的数,后面补0
E 8bit,指数加中间数127 或者 1023

数组指针

int main()
{
    int arr1[] = { 1, 2, 3, 4, 5 };
    int arr2[] = { 2, 3, 4, 5, 6 };
    int arr3[] = { 3, 4, 5, 6, 7 };
    int* arr[] = { arr1, arr2, arr3 };
    int i = 0;
    int j = 0;
    for (i = 0; i < 3; i++)
    {
        printf("%p\n", arr[i]);
        for ( j = 0; j < 5; j++)
        {
            printf("%d ", *(arr[i]+j)); //arr起始位地址
            printf("%d ", arr[i][j]);
        }
        printf("\n");
    }
}

数组名是数组首元素的地址
有两个例外:
sizeof(数组名) 表示整个数组,计算的是整个数组大小
&数组名 表示整个数组,取出整个数组的地址

二维数组的数组名表示首元素的地址,二维数组的首元素是第一行

void print2(int(*p)[5], int r, int c)
{
    int i = 0;
    int j = 0;
    for (i = 0; i < r; i++)
    {
        for (j = 0;j < c;j++)
        {
            printf("%d ", (*(*p + i) + j)); //*p arr每一行的指针 *(*p + i)每行下每一列的指针
        }
        printf("\n");
    }
}

int main()
{
    int arr[3][5] = { {1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7} };
    print2(arr, 3, 5);
}

相关文章

  • C语言 day11

    数据的存储 数据在内存中以2进制的形式存储整数在内存中存的是二进制的补码 大小端 大端字节序:把数据的低位字节序的...

  • C++简答题

    一、简答题 1、C语言与C++语言的区别? 答: C语言是面向过程语言,C++是面向对象语言(OOP) C语言...

  • C语言快速入门 - Hello World 详解

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言快速入门 - 简单运算符

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言快速入门 - 控制语句

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言快速入门 - 变量

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言快速入门

    目录 C语言快速入门 C语言快速入门 - Hello World 详解 C语言快速入门 - 变量 C语言快速入门 ...

  • C语言如何使用随机数?

    C语言如何使用随机数? 功能介绍推送一些C语言方面的知识,提供C语言/C++语言资料,讨论和学习C语言/C++编程...

  • C++语言学习之面向对象

    1.C语言与C++语言的区别 C++面向对象 C 面向过程 函数+结构体 C++可以运行调用C语言 反之 C语言无...

  • C小白

    一 C语言概述(what)①C语言的特点C语言是一种底层语言,小型语言,包容性语言②C语言的优点高效。可移植。功...

网友评论

      本文标题:C语言 day11

      本文链接:https://www.haomeiwen.com/subject/mtjzmrtx.html