C知识点
fgh431
非淡泊无以明志
展开
-
内存越界居然不Segmentation fault (core dumped)
环境:linux和gcc#include <stdio.h>#include <time.h>#include <stdlib.h>int main(){ srand((unsigned)time(NULL)); int n=4; double *A=malloc(sizeof(double)*n); A[0] =123; A[1] =123;A[2] =123;A[3] =123;A[4] =123; A[9999] =123; free(.原创 2021-03-03 18:22:34 · 301 阅读 · 1 评论 -
C语言声明15个比特位的变量+C语言整数是几个字节
#include <stdio.h>typedef struct ItemIdData{ unsigned lp_off:15, lp_flags:2, lp_len:15;} ItemIdData;void main(){ItemIdData a;a.lp_flags = 4;printf("%u\n",a.lp_flags);}赋值截断两位给我的a.lp_flags啊!原创 2021-01-18 22:47:49 · 454 阅读 · 0 评论 -
编码系列
文章目录原来控制台还有编码方式啊?canci原来控制台还有编码方式啊?看到当前代码页没有,结果是GBK编码!没想到控制台还可以有这么多属性啊!canci链接原创 2020-10-01 09:30:10 · 1620 阅读 · 0 评论 -
backend\optimizer\path\joinpath.c里面定义了一个hook
文章目录backend\optimizer\path\joinpath.c里面定义了一个hookbackend\optimizer\path\joinpath.c里面定义了一个hookset_join_pathlist_hook 可是你不能只在你这个.c里定义啊你得把他放到头文件给别人准备用啊果然它在src\include\optimizer\paths.h里有如下的话extern PGDLLIMPORT set_join_pathlist_hook_type set_join_pat原创 2020-09-23 16:08:31 · 252 阅读 · 0 评论 -
windows下fopen注意点 + VS下打开文件写点东西到文件
文章目录windows下fopen注意点fopen': This function or variable may be unsafe. Consider using fwindows文件必须要用/,不能是windows默认的反斜杠awindows下fopen注意点fopen’: This function or variable may be unsafe. Consider using f加上这个就好#pragma warning(disable:4996)windows文件必须要用/,不能是原创 2020-09-03 14:19:55 · 1892 阅读 · 0 评论 -
我要记录曾经发生的一件怪事情 + ->和*谁的优先级高呢?+ 1 << 31 为什么是最小整形呢+求int数的第i比特位
文章目录求int数的第i比特位常数的sizeof求int数的第i比特位#include <stdio.h>void main(){ int a=123; int i=12; int b = a&(1>>(i-1)); printf("%d\n",b)}常数的sizeofc中,1是int,1l是long int,1.0是double,1.0f是float,在VS中debug X86下面执行是这样#include原创 2020-07-25 23:15:52 · 315 阅读 · 0 评论 -
函数入栈的单元是多大+sizeof(char*)+变参举例?
sf原创 2020-07-24 19:22:51 · 219 阅读 · 0 评论 -
随便加分号不报错!
文章目录随便加分号不报错!随便加分号不报错!我想在我的代码上加一个;,然后传到docker里让他报错结果不报错哈哈原创 2020-06-07 09:28:11 · 306 阅读 · 0 评论 -
在h文件中函定义+ #pragma once 是什么意思?
文章目录头文件中能否进行函数的定义再创一个.cpp,用此预处理指令的作用编译器在执行一个程序时分以下几步预处理:编译汇编链接总结:canci头文件中能否进行函数的定义能否在头文件中进行函数的定义 test.h#ifndef __TEST_H_# define __TEST_H_#include <iostream>using namespace std;int c = 3;int add(int a, int b){ return a + b;}#en原创 2020-06-06 23:19:15 · 1011 阅读 · 0 评论 -
%05d
如果int a=1234,printf("%05d\n",a);输出结果为 01234原创 2020-05-20 16:40:47 · 825 阅读 · 0 评论 -
p[0]=123;是错的+C 库函数 - snprintf()
C 库函数 - snprintf()<stdio.h>intsnprintf(char *str, size_t size, const char *format, …)将可变参数(…)按照 format 格式化成字符串,并将字符串复制到 str 中,size 为要写入的字符的最大数目超过 size 会被截断int snprintf ( char * str, size_t size, const char * format, ... );str原创 2020-07-24 23:49:24 · 192 阅读 · 0 评论 -
sizeof(haha)+memcpy和strcpy和memset
文章目录memcpy和strcpymemcpy和strcpystrcpy只能复制字符串,而memcpy可以复制任意内容,字符数组、整型、结构体 strcpy不需指定长度,它遇到被复制字符的串结束符"\0"才结束,如果空间不够,就内存溢出。memcpy则是根据其第3个参数决定复制的长度。用途不同。复制字符串时用strcpy,复制其他类型数据时用memcpy,字符串...原创 2020-04-24 19:32:00 · 334 阅读 · 0 评论 -
结构体强制转化,不成功+数字量构造结构体形参+函数内部定义匿名结构体数组+不要用memcmp比较结构体+结构体大小和咋比较结构体+C语言的struct定义+结构体数组初始化为0+gcc纯C语言下面报错
文章目录C语言的struct定义1 结构体的声明2.结构体的自引用3.结构体变量的定义和初始化简单结构体的初始化指针指向结构体时候必须用->C语言的struct定义1 结构体的声明struct Book{ char name[100]; //书名 float price; //价格}b1,b2; ...原创 2020-04-13 13:00:42 · 458 阅读 · 0 评论 -
C的标准库函数将字符串转换为任意类型(整型、长整型、浮点型等)。
文章目录C提供几个标准库函数,其他函数抄写链接C提供几个标准库函数,可将字符串转换为任意类型(整型、长整型、浮点型等)。atoi()将字符串转换为整数# include <stdio. h># include <stdlib. h>void main (void) ;void main (void){ int num; char * st...原创 2020-03-29 13:15:50 · 674 阅读 · 0 评论 -
用vector动态申请数组+这样居然是错的+&a[0]==a+用malloc为二维数组分配空间
int main(){ 5 //int arr[5][5]; 6 int **arr; 7 arr = (int**)malloc(sizeof(int*) * 5); 8 int i = 0; 9 int j = 0; 10 for(i = 0;i<5;i++){ 11...原创 2020-03-28 15:23:01 · 755 阅读 · 0 评论 -
short、int、long、long long、DWORD区别
文章目录short、int、long、long long、DWORD区别参考连接short、int、long、long long、DWORD区别编译器可根据硬件特性自主选择类型长度,所以编译器主要限制了类型的长度。一般short和long long为固定字节数,int在64位系统下为了向下兼容而保持了4个字节。DWORD为unsigned long,因此在32位系统下一般为无符号32位...原创 2019-12-17 11:24:54 · 2311 阅读 · 0 评论 -
如何打印64位整数呢?+常数的sizeof
文章目录如何打印64位整数呢??如何打印64位整数呢??#include <stdio.h>#include <windows.h>int main(){ long long a = 992147483648; printf("%I64d \n", a); system("pause");}...原创 2019-12-11 15:03:45 · 1880 阅读 · 0 评论 -
C语言中的sleep()
文章目录C语言中的sleep()里纳克斯2th plagiarismC语言中的sleep()sleep()在windows和linux下是两个不同的函数,差别较大,但功能相同,都是将进程挂起一段时间。windows下函数名为Sleep(),其函数原型为:#include <windows.h>void Sleep(DWORD dwMilliseconds); ...原创 2019-12-07 18:13:25 · 112175 阅读 · 3 评论 -
what does before main----C/C++ RTL 解析
文章目录what does before main----C/C++ RTL 解析运行时库实现的功能,在main函数执行之前都做了什么思考:二、运行时库概述三、运行时库主要功能模块四、程序详细运行过程1 程序执行前装载器把用户的参数和环境变量压入栈,2 初始化和OS版本相关的全局变量3 初始化堆,每个进程都有属于自己的堆。4 I/O初始化,继承父打开文件表。5. 获取命令行参数和环境变量6. 初...原创 2019-12-02 15:48:45 · 466 阅读 · 0 评论 -
嵌入式开发经常遇到编译器和C++版本不匹配的问题+C/Cpp运行时库
文章目录C运行时库(C Run-time Library)详解一、什么是C运行时库二、Visual C++中对运行时库的支持参考链接C/Cpp运行时库一、what is 运行时库二、如何链接运行时库三、不同版本和形态的运行时库3.1 运行时库对应的文件3.2 运行时库文件命名规则四、运行时库使用注意事项参考链接C运行时库(C Run-time Library)详解一、什么是C运行时库就是 ...原创 2019-12-02 14:39:00 · 1988 阅读 · 0 评论 -
形参取&+那像这种printf(“%d,%d“,a)+C中可变参数函数实现原理 +_stdcall,_cdecl,_fastcall
文章目录_stdcall、cdecl、fastcall理解_stdcall栈有一个存储区、一个栈顶指针。在参数传递中,有两个很重要的问题必须得到明确:stdcallcdeclfastcall参考链接c++编译时函数名修饰问题_stdcall,_cdecl,_fastcall几乎每一个WINDOWS API函数都是__stdcall类型的,为什么?_stdcall C方式压栈,Pascal方式清理...原创 2019-12-02 11:36:11 · 367 阅读 · 0 评论 -
java方法的重写
文章目录java方法的重写参考链接目前的问题:父类的功能无法满足子类的需求方法重写的前提: 必须要存在继承的关系方法的重写: 子父类出了同名的函数,这个我们就称作为方法的重写什么是时候要使用方法的重写:父类的功能无法满足子类的需求时方法重写要注意的事项java方法的重写参考链接添加链接描述目前的问题:父类的功能无法满足子类的需求方法重写的前提: 必须要存在继承的关系方法的重写: 子...原创 2019-10-25 15:29:42 · 163 阅读 · 0 评论 -
#undef 和#ifdef用法+#pragma warning+使一大块代码整体左右移动+C语言调式+函数调用前加void
选中一块代码,按下Tab(右移)按下Tab+shift(左移)原创 2019-06-22 15:17:43 · 764 阅读 · 0 评论 -
C语言如何引用别的文件中的static函数
(1.cpp)#include <stdio.h>#include "2.h"void main(){ my();}(2.cpp)#include "2.h"#include <stdio.h>void my(){ printf("我是外边的的函数,我被调用了\n");}2.h头文件void my();上面的非常好,没问题。如果是s...原创 2019-06-22 16:25:12 · 14614 阅读 · 4 评论 -
回调函数
回调函数,通常是作为参数传递给调用者,调用者并不知道自己调用的到底是什么原创 2019-07-16 12:02:06 · 124 阅读 · 0 评论 -
函数指针+结构体间可赋值+typedef int *pp啥意思?+函数内malloc,malloc是从堆申空间,函数结束后不自动释放
第一次看到居然还懵逼,这个struct里面是啥啊?其实他就是声明了一些函数指针啊。typedef struct MemoryContextMethods{ void *(*alloc) (MemoryContext context, Size size); /* call this free_p in case someone #define's free() */ void ...原创 2019-06-14 22:23:05 · 281 阅读 · 0 评论 -
C语言计算函数运行时间+随机数
文章目录C语言计算函数运行时间C语言计算函数运行时间#include <time.h>double time1=(double)clock()/CLOCKS_PER_SEC;double time2=(double)clock()/CLOCKS_PER_SEC;printf("%lf\n",double(time2-time1));...原创 2019-09-28 14:42:14 · 906 阅读 · 0 评论