写在前面:
由于时间的不足与学习的碎片化,写博客变得有些奢侈。
但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。
既然如此
不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几句话指明本质,以便于日后搜索起来更加容易。
标题的结构如下:“类型”:“知识点”——“简短的解释”
部分内容由于保密协议无法上传。
点击此处进入学习日记的总目录
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:
数组名 虽然本质上也是个指针,但是最好不要对其偏移操作
应该定义个指针并赋值数组的地址再进行偏移
三、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]; //对比项
结果相同