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

发布时间:2024年01月23日

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


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


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

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

类型字节数
int4
unsigned int4
long int4
unsigened long int4
long long (int)8
unsigned long long (int)8
short (int)2
unsigned short (int)2
double8
long double12
float4
char1

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

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

Tips:
数组名 虽然本质上也是个指针,但是最好不要对其偏移操作
应该定义个指针并赋值数组的地址再进行偏移
?在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

1、指针数组的含义

在这里插入图片描述
在这里插入图片描述

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

#include<stdio.h>

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];                  //对比项

结果相同

文章来源:https://blog.csdn.net/qq_36769966/article/details/135774413
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。