(学习日记)2024.01.22:各类型占用字节 与 指针

写在前面:
由于时间的不足与学习的碎片化,写博客变得有些奢侈。
但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。
既然如此
不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几句话指明本质,以便于日后搜索起来更加容易。


标题的结构如下:“类型”:“知识点”——“简短的解释”
部分内容由于保密协议无法上传。


点击此处进入学习日记的总目录

2024.01.22

  • 一、C/C++:各类型占用字节数
  • 二、C/C++:指针的偏移
  • 三、C/C++:指针数组
    • 1、指针数组的含义
    • 2、指针数组 赋值为空时的 初始值

一、C/C++:各类型占用字节数

类型 字节数
int 4
unsigned int 4
long int 4
unsigened long int 4
long long (int) 8
unsigned long long (int) 8
short (int) 2
unsigned short (int) 2
double 8
long double 12
float 4
char 1

二、C/C++:指针的偏移

当我对任意类型数组创建一个指针
如果指针+1或++,则必然指向该数组的下一个数据。(不受所定义类型所占字节影响)

Tips:
数组名 虽然本质上也是个指针,但是最好不要对其偏移操作
应该定义个指针并赋值数组的地址再进行偏移
(学习日记)2024.01.22:各类型占用字节 与 指针_第1张图片
(学习日记)2024.01.22:各类型占用字节 与 指针_第2张图片
(学习日记)2024.01.22:各类型占用字节 与 指针_第3张图片

三、C/C++:指针数组

1、指针数组的含义

在这里插入图片描述
(学习日记)2024.01.22:各类型占用字节 与 指针_第4张图片

2、指针数组 赋值为空时的 初始值

#include

char *a[20][20]={{nullptr}};

int main()
{
    for(int m=0;m<20;m++){
        for(int n=0;n<=19;n++)
            printf("%d ",a[m][n]);
        puts("");    
    }
}

在其中,输出结果为20*20个 0

将第二行的char *a[20][20]={{nullptr}};

改为:

char *a[20][20];
char *a[20][20]={nullptr};  //不建议
char *a[20][20]={{NULL}};
char *a[20][20]={NULL};   //不建议
char a[20][20];                  //对比项

结果相同

你可能感兴趣的:(学习日记,C语言,与,C++,学习,c语言,笔记)