指针进阶2 - 函数

1. 函数指针 函数名 VS &函数名 对于数组而言,数组名=首元素地址,&数组名=整个数组的地址 那么函数名和&函数名等于什么 #include <stdio.h> void test() { ; } int main() { test(); printf("%p\n", test); print ...

内存对齐

1.内存对齐是什么? 对结构体和类来说,让变量不是紧挨着存放,而是通过变量字节倍数的形式存放 2.为什么会有内存对齐? 增加cpu的访问数据的速度 对于cpu来说,数据从内存中读到缓存中去,是通过偏移量(offset)进行读取,也就是常说的通过块来读取,而不是按照字节读取。 读取非内存对齐的数据,会 ...

CDay03

字符类型 编码 char类型采用ASCII编码,占1个字节,只用了7位(最高位是0),能表示128个字符。 需要记忆的: 空字符 '\0' = 0 ' ' = 32 '0' = 48 'A' = 65 'a' = 97 转义序列 字符转义序列 数字转义序列 八进制:以 \ 开头,后面最多接三个八进制 ...

洛谷 P1605 迷宫

题目背景(题目链接) 题目描述 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。 在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。 给定起点坐标和终点坐标,每个方格最多经过一次,问有多少种从起点坐标到终点坐标的方案。 输入格式 第一行为三个正整数 N,M,T ...

C++初探索

C++初探索 前言 C++ 和 C 的区别主要在8个方面: 输入和输出 引用 inline函数 函数默认值 函数重载 模板函数 new 和 delete namespace 我仅对印象不深的地方做了总结。 一、引用初探索 1.引用的定义与区别 定义:类型& 引用变量的名称 = 变量名称 '&' 不是 ...

斐波那契数列(二)

斐波那契数列在很多问题上得到了应用。下面通过一些具体的实例加以说明。 【例1】钢管切割 问题描述 给一根长度为n的钢管,问最多能切割成几段钢管,使得截成的钢管互不相等且均不能构成三角形。 输入 输入文件的第一行包含整数T(1≤T≤10) ,表示测试用例的数量。 每个测试用例包含一行,包括整数N(1≤ ...

<五>详解容器适配器

标准容器->容器适配器 什么叫适配器? 1:适配器底层没有自己的数据结构,它是另外一个容器的封装,它的方法, 全部由底层依赖的容器进行实现的.像标准库中的stack 如下图 2:没有实现自己的迭代器 容器适配器 stack,queue,priotity_queue 没有迭代器 stacks1; 栈, ...

分数与小数

【例1】求1/n的值。 问题描述 给定个非0的整数n,计算1/n的值。 输入 第一行整数T,表示测试组数。后面T行,每行一个整数 n (1≤|n|≤10^5)。 输出 输出1/n (是循环小数的,只输出第一个循环节)。 输入样例 4 2 3 7 168 输出样例 0.5 0.3 0.142857 0 ...

(GCC) GCC 结构体内存对齐规则

GCC struct 内存对齐规则 结构体起始地址需要被其中成员类型最大的大小所整除; 每个成员起始地址需要被其类型大小所整除,如int32_t类型成员内存对齐到4B; 如果成员有子结构体,则该子结构体成员起始地址要被其内部成员类型最大的所整除。如struct a里存有struct b,b 里有 c ...

C语言学习笔记---sizeof关键字和strlen函数

sizeof和strlen在C语言中常用来计算字符大小和长度,在应用中却有着本质的区别。 sizeof是C语言中的关键字,其作用是返回一个对象或类型所占的内存字节数。使用方式为: int i; sizeof(int); *//值为4*` sizeof(i); *//值为4,等价于sizeof(int ...