C语言
C语言学习笔记
algsup
这个作者很懒,什么都没留下…
展开
-
C语言:结构体内存对齐
前言:今日做考研的计组练习题,遇到一个c语言结构体内存对齐的题不会做,原因很简单,不懂啥叫内存对齐。内存对齐:由于现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但是实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐。换句话说,选择 k 个字节作...原创 2020-03-25 00:03:41 · 488 阅读 · 0 评论 -
C语言:传递二维数组参数(固定维度和不固定维度两种)
前言:今日做一道dp的题,然后需要二维dp,我本人觉得用vector的二维数组会耗时长(毕竟类对象,肯定比基本数组类型的二维数组慢),所以打算使用int dp[][],然而遇到点麻烦,先记录如下。二维数组的定义:二维数组的说法是不准确的,因为C/C++都不存在二维数组的数据结构,只不过一些入门教程为了让初学者快速理解产生的名词,所以在C/C++仅存在数组的数组的说法。二维数组的地址存储方式...原创 2019-11-26 19:59:49 · 5430 阅读 · 0 评论 -
C语言:指针变量所占的字节数
指针所在的字节数取决于程序的位数:32位程序下任何类型的指针变量所占的字节数为4byte64位程序下任何类型的指针变量所占的字节数位8byte可自行在VS中测试:...原创 2019-11-02 20:03:44 · 2017 阅读 · 0 评论 -
C语言:删除C风格字符串中的空格
前言:今天有个小伙伴问我如何删除C风格字符串中的空格,顿时我也蒙蔽了,我每次都是用string的,都没咋用C风格字符串了,后来想了想,帮助他实现了,代码如下:...原创 2019-09-27 18:16:59 · 624 阅读 · 0 评论 -
负数取余问题
前言:对于两个相同符号的数取余大家都很熟悉,但是对于一正一负的数取余呢?大家可能觉得会很陌生,今天在刷leetcode整数反转这道题的时候,想起了这个知识点,遂打算探讨一番。自然数取余定义分为两种:1)定义1:如果a和d是两个自然数,d非零,可以证明存在两个唯一的整数 q 和 r,满足a=qd+r且0 ≤ r < d(其中q为商,r为余数)。定义1一般作为数学中的取余法则,即两个数...原创 2019-09-19 16:16:19 · 49593 阅读 · 11 评论 -
C语言字符串和string对象初始化\0添加问题讨论
char str1[]="hello world";//以字符串形式出现的,编译器会在结尾自动添加\0const char *str2="hello world";//以字符串形式出现的,编译器会在结尾自动添加\0//等价与const char *str2;str2="hello world";//str2的值为hello wolrd,即char sts3[]={'h','e','l','l...原创 2019-07-03 13:50:13 · 4434 阅读 · 1 评论 -
同一个浮点数经过多次大量计算后导致精度缺失问题
前言:由于计算机中采用有限位的二进制编码,因此浮点数在计算机中的存储并不总是精确的。如:浮点数3.14经过大量的计算后,在计算机可能存储为3.14000000001,也可能存储为3.139999999解决方法:引入一个极小数eps来对这种误差进行修正const double eps=1e-8;//等于运算符#define Epu(a,b) (fabs((a)-(b))<(ep...原创 2019-05-22 21:38:28 · 1465 阅读 · 0 评论 -
简单复习C语言
今天开始看晴神的《算法笔记》,由于本人大一学习完C语言后,一直在学习和使用Cpp的语法,以致于一些C语言的一些简单问题都不记得了,就顺便简单复习下C语言吧。1.变量类型_int16,_int32,_int64对应short,int,long long。%f尽管是double和float的输出格式,但是可以将double的输出格式写出%lf还有一点尽量多使用double,不要使用float,...原创 2019-05-03 11:24:59 · 835 阅读 · 0 评论 -
二级指针和多级指针
二级指针与多级指针:int i=1;int *p1=&amp;i;int **p2=&amp;p1;int ***p3=&amp;p2;一级指针:指针变量p1的类型为int*,所指向的类型为int,储存的值为int类型变量i的首地址,即指针变量p1指向了int类型i的内存区。二级指针:指针变量p2的类型为int ,所指向的类型为int,指针变量p1的类型为int,所以p2可以指向p...原创 2019-02-07 09:38:17 · 1453 阅读 · 0 评论 -
bit,byte,word的关系与说明
bit(比特):0或1,计算机是以比特序列来储存数据的。例如01010011,大多数计算机就是以2的整数次幂来处理内存的,最小的内存块成为“字节”,储存的基本单位称为“字”。byte(字节):大部分机器的字节是以8比特构成,一个byte表示无符号类型unsigned表示为0-255之间的值,表示有符号为-128-127。何为有符号类型,即可以表示为负数,0,正数,而无符号类型则仅表示为大于...原创 2019-02-02 19:56:46 · 18022 阅读 · 2 评论 -
C语言操作符优先级
原创 2019-02-01 20:33:39 · 706 阅读 · 0 评论