![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++
C/C++学习+项目总结
alangaixiaoxiao
科研虐我千百遍,我待科研如初恋
展开
-
C 语言细节小知识
1.int -> short去数据的低16位: int b = 2033350961;//0x79327931 short a = b ; printf("%d\n", a);//0x7931原创 2020-02-17 17:50:34 · 278 阅读 · 0 评论 -
C const关键字
一、const修饰普通变量1、说 const 定义的是变量,但又相当于常量;说它定义的是常量,但又有变量的属性,所以叫常变量。用 const 定义常变量的方法很简单,就在通常定义变量时前面加 const 即可,如:const int a = 10;int const a = 10;这两种写法都是正确的,但是下面这种写法是错误的int const a;a = 10;用 const 定义...原创 2020-02-17 17:18:17 · 264 阅读 · 0 评论 -
C static
一. 在程序中使用static修饰变量局部变量任何一个函数内部定义的变量(不加static修饰符),被称为局部变量。编译器一般不对普通局部变量进行初始化,也就是说它的值在初始时是不确定的,除非对其显式赋值。普通局部变量存储于进程栈空间,使用完毕会立即释放。静态局部变量使用static修饰符定义,即使在声明时未赋初值,编译器也会把它初始化为0。且静态局部变量存储于进程的全局数据区,即使函数...原创 2020-02-17 14:56:38 · 128 阅读 · 0 评论 -
浮点数和定点数
最近在研究CNN的硬件实现,其中涉及到特征图像、权重和偏移文件的量化,需要研究浮点数、定点数之间的转化。一.浮点数C语言中有3种浮点数,float型、double型和long double型,其中float型占4个字节,double型占8个字节,longdouble型长度要大于等于double型,本文档将以float型为例进行介绍,double型和long double型只是比fl...原创 2020-02-12 11:22:50 · 5864 阅读 · 1 评论 -
C/C++ memcpy fread fopen(常用函数一)
memcpyC 库函数void *memcpy(void *str1, const void *str2, size_t n)从存储区 str2 复制 n 个字符到存储区 str1。str1 – 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针。str2 – 指向要复制的数据源,类型强制转换为 void* 指针。n – 要被复制的字节数。...原创 2020-01-19 17:30:23 · 674 阅读 · 0 评论 -
C/C++ 链表
链表是一种常见的基础数据结构,结构体指针在这里得到了充分的利用。链表可以动态的进行存储分配,也就是说,链表是一个功能极为强大的数组,他可以在节点中定义多种数据类型,还可以根据需要随意增添,删除,插入节点。链表都有一个头指针,一般以head来表示,存放的是一个地址。链表中的节点分为两类,头结点和一般节点,头结点是没有数据域的。链表中每个节点都分为两部分,一个数据域,一个是指针域。说到这里你应该...原创 2020-01-19 17:27:54 · 330 阅读 · 0 评论 -
VS debug记录
错误提示:error C4996: ‘itoa’: The POSIX name for this item is deprecated原因:新版本的vs对旧有的函数itoa进行了安全检查,所以使用新版本的vs会提示错误,而旧版本的没问题。解决办法:1、使用新函数 _itoa2、如果非要使用旧函数也是可以的,加上宏定义即可#define _CRT_NONSTDC_NO_DEPRECA...原创 2019-12-25 15:03:38 · 128 阅读 · 0 评论 -
C/C++ volatile
memcpyC 库函数void *memcpy(void *str1, const void *str2, size_t n)从存储区 str2 复制 n 个字符到存储区 str1。str1 – 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针。str2 – 指向要复制的数据源,类型强制转换为 void* 指针。n – 要被复制的字节数。...原创 2019-11-25 15:49:32 · 110 阅读 · 0 评论 -
C 数组
数组的赋值:int a[] = {2,4,6,8,10};int b[] = a;//不可以使用这种方式进行赋值如果想要将一个数组赋值给另一个数组,必须采用遍历的方式:for(i=0;i<length;i++){ b[i] = a[i];}...原创 2019-11-13 15:44:20 · 185 阅读 · 0 评论 -
结构Struct
指向结构的指针struct data{ int month; int day; int year;} myday;struct data *p = &myday;(*p).month = 12;p->month =12;其中,p表示指针变量,其值是一个地址;这两种赋值方法都可以;p->month =12;用->表示指针所指的结构变量中的...原创 2019-11-13 11:09:35 · 160 阅读 · 0 评论 -
C/C++ 指针变量
一、指针变量C 指针学习 C 语言的指针既简单又有趣。通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C 程序员,学习指针是很有必要的。正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址:实例...原创 2019-11-14 10:03:25 · 391 阅读 · 0 评论