c语言
拉普拉斯_凯
1234-学生
展开
-
unsigned char 和char
转自:https://blog.csdn.net/eastlhu/article/details/72809256在C++中字符型被分为了三种:char、signed char和unsigned char。需要的注意:字符的表现形式只有两种:带符号的和无符号的,类型char具体使用哪一种由编译器决定;如果需要使用不大的整数,应该明确指出它的类型是signed char或者unsigned char...转载 2018-05-25 16:58:21 · 819 阅读 · 0 评论 -
C语言之__weak函数前缀
__weak是一个宏,和__packed是同一种东西都是gcc的扩展属性:#define __packed __attribute__((packed))#define __weak __attribute__((weak))如果这个关键字用在函数定义上面,一般情况下和一般函数没有两样。但是当有一个同名函数但是不带__weak被定义时,所有对这个函数的调用都是指向后者(不带__weak那个...转载 2019-02-03 13:33:33 · 1361 阅读 · 0 评论 -
C之attribute用法
转自:https://www.cnblogs.com/embedded-linux/p/5801999.html GNU C 的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。__attribute__ 书...转载 2019-02-06 16:26:34 · 1148 阅读 · 0 评论 -
根据结构体变量地址反推结构体首地址
https://blog.csdn.net/learnboc/article/details/71480381 【题目】:根据一个结构体某成员的名称和地址,以及结构体的类型,计算出该结构体对象的首地址。 【例如】: struct A { int x; int y; in...转载 2019-02-08 14:45:27 · 1122 阅读 · 0 评论 -
bss段,data段、text段、堆(heap)和栈(stack)
https://www.cnblogs.com/yanghong-hnu/p/4705755.htmlbss段: bss段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。 bss是英文Block Started by Symbol的简称。 bss段属于静态内存分配。 data段: 数据段(data segment)通常是指用...转载 2019-02-12 23:27:09 · 421 阅读 · 0 评论 -
#define _OBJ_CONTAINER_LIST_INIT(c)
#define _OBJ_CONTAINER_LIST_INIT(c) \ {&(rt_object_container[c].object_list), &(rt_object_container[c].object_list)}struct rt_object_information{ enum rt_object_class_type...原创 2019-02-13 15:59:33 · 556 阅读 · 0 评论 -
5位运动员参加了10米台跳水比赛
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第一,我第三。B选手说:我第二,E第四。C选手说:我第一,D第二。D选手说:C最后,我第三。E选手说:我第四,A第一。比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。原文:https://blog.csdn.net/D_leo/article/details/53106593#in...转载 2019-03-19 21:24:24 · 291 阅读 · 0 评论 -
pthread_exit 和 pthread_join
pthread_exit(void *ptr) 函数使线程退出,并返回一个空指针类型的值。pthread_join(pthread_t tid,void **rtval)调用此函数的进程/线程等id为tid的线程返回或被终止,并从它那里获得返回值。注意,退出函数返回的是一个空指针类型,接受函数也必须用一个指针来接收。但是函数给出的参数是接收指针的地址,即,接收到的指针值写入给出的地址处的指...转载 2019-04-26 17:16:17 · 668 阅读 · 0 评论 -
sscanf()
在处理字符串的程序当中,经常会分析字符串,从一大长串的字符串截取我们需要的数据,这如果通过自己手写函数来分析,虽然可以,但当你知道sscanf的功能,那就自己写函数分析就显得多此一举。这些函数的使用都很简单,总结一下,等下次使用一目了然。俗话说:好记性不如烂笔头,记录下来就是效率。以下源代码是本人测试的源文件,附带讲解注释。/*****************************...转载 2019-05-13 22:21:00 · 227 阅读 · 0 评论 -
STM32——FSMC(灵活的静态存储器控制器)驱动TFTLCD液晶屏
TFTLCD液晶屏介绍 TFTLCD即薄膜晶体管液晶显示器。它与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。广泛应用于电视、手机、电脑、平板等各种电子产品。 TFTLCD的优点 技术成熟,良率高,成本集中在背光上;...原创 2018-10-24 18:39:45 · 4783 阅读 · 1 评论 -
固件库FSMC_NORSRAMInit( )函数代码分析
相关结构体 typedef struct{ uint32_t FSMC_Bank; //指定FSMC NOR/SRAM的存储区 块一的1~4区 uint32_t FSMC_DataAddressMux; //数据地址总线复用位设置 uint32_t FSMC_MemoryType; //存储器类型定义 uint3...原创 2018-10-23 21:17:16 · 1347 阅读 · 0 评论 -
C/C++程序的内存分配
转:https://blog.csdn.net/zcyzsy/article/details/69788884 C/C++编译的程序的内存分配一、内存分配方式:静态分配方式:是指在程序编译和链接的时候分配固定的存储空间的方式。动态分配方式:是在程序运行期间根据需要进行动态的分配存储空间的方式。静态内存分配是在程序执行之前进行的因而效率比较高,而动...转载 2018-10-28 21:52:31 · 323 阅读 · 0 评论 -
memmove 函数
memmove用于从src拷贝count个字节到dest,如果目标区域和源区域有重叠的话,memmove能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中。但复制后src内容会被更改。但是当目标区域与源区域没有重叠则和memcpy函数功能相同。中文名memmove原 型void *memmove头文件<string.h>相关函数memset、memcpy目录1 函数简介2 ...转载 2018-05-26 11:32:47 · 1420 阅读 · 0 评论 -
main函数的参数
我们经常用的main函数都是不带参数的。因此main 后的括号都是空括号。实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个, 习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组...转载 2018-05-26 14:05:33 · 324 阅读 · 0 评论 -
c语言创建临时文件
创建名字唯一的临时文件:推荐使用tmpfile和mkstemp,因为这两个函数创建文件的同时并打开文件,总的来说安全又可靠。tmpfile返回的是文件流指针FILE*,mkstemp返回的是文件描述符。 tmpnam,tmpfile表头文件 #include <stdio.h>函数定义 FILE *tmpfile(void);函数描述 创建唯一的临时文件,并打开文件返回值 成功返回...转载 2018-06-03 23:04:10 · 3141 阅读 · 0 评论 -
int sprintf( char *buffer, const char *format [, argument] ... );
转自:https://blog.csdn.net/steedhorse/article/details/330206printf可能是许多程序员在开始学习C语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf了解多吗?在将各种类型的数据构造成字符串时,sprintf的强大功能很少会让你失望。 由于sprintf...转载 2018-06-04 21:43:00 · 590 阅读 · 0 评论 -
strcpy函数返回值的作用
字符串拷贝函数strcpy的原型:char *strcpy(char *strDest,const char *strSrc);strcpy函数将strSrc拷贝至输出参数strDest中,同时函数的返回值又是strDest。这样做并非多此一举,可以获得如下灵活性: char str[20]; int length = strlen( strcpy(str, “Hello World”...转载 2018-06-08 21:02:32 · 2116 阅读 · 0 评论 -
perror和strerror的使用和区别
https://blog.csdn.net/diediexiaomi/article/details/76862248(1) perror 头文件:stdio.h void perror(const char *msg); 它是基于errno的当前值,在标准错上产生一条出错信息,然后返回。 它先输出由msg字符串,然后是一个冒号后头接着对应于errno值的出错信息。 例: perror(“send...转载 2018-07-04 19:37:17 · 304 阅读 · 0 评论 -
NULL和NUL
转自:https://blog.csdn.net/u013178472/article/details/50448119NULL is a macro defined in several standard headers, 0 is an integer constant, '\0' is a character constant, and nul is the name of the ch...转载 2018-07-24 21:29:18 · 3189 阅读 · 0 评论 -
C语言的条件编译#if, #elif, #else, #endif、#ifdef, #ifndef
转自:http://blog.sina.com.cn/s/blog_4b4b54da0100r2l6.html有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指令设置编译条件,在不同的需...转载 2018-07-27 21:25:18 · 675 阅读 · 0 评论 -
c语言中的getchar()和EOF
一、getchar的两点总结:1.getchar是以行为单位进行存取的。当用getchar进行输入时,如果输入的第一个字符为有效字符(即输入是文件结束符EOF,Windows下为组合键Ctrl+Z, Unix/Linux下为组合键Ctrl+D),那么只有当最后一个输入字符为换行符'\n'(也可以是文件结束符EOF,EOF将在后面讨论)时, getchar才会停止执行,整个程序将会往下执行。...转载 2018-07-31 23:13:35 · 741 阅读 · 1 评论 -
C语言static用法小结
转自:https://blog.csdn.net/xuefu2008/article/details/4644812static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准). (1)局部静态变量 (2)外部静态变量/函数 (3)静态数据成员/成员函数 下面就这...转载 2018-08-01 23:20:15 · 381 阅读 · 0 评论 -
attribute 用法 section 部分
attribute 用法 section 部分http://blog.sina.com.cn/s/blog_5e11a56a0100c8h5.html###1. gcc的__attribute__编译属性要了解Linux Kernel代码的分段信息,需要了解一下gcc的__attribute__的编绎属性,__attribute__主要用于改变所声明或定义的函数或 数据的特性,它有很多...转载 2019-05-23 09:35:54 · 463 阅读 · 0 评论