随笔分类 -  C/C++

摘要:https://wenku.baidu.com/view/b7794a6b011ca300a6c3904a.html 一、非引用形参 void add1(int v1) { v1+=1; } 这是最普通的形参方式,当函数被调用时,实参的副本初始化形参,函数并没有访问调用所传递的实参,因此v1+=1不 阅读全文
posted @ 2018-10-10 09:45 prayer521 阅读(1089) 评论(0) 推荐(0) 编辑
摘要:#和##运算符 #:构串操作符 构串操作符#只能修饰带参数的宏的形参,它将实参的字符序列(而不是实参代表的值)转换成字符串常量 ##:合并操作符 合并操作符##将出现在其左右的字符序列合并成一个新的标识符 注意: 使用合并操作符##时,自身的标识符必须预先有定义,否则编译器会报“标识符未定义”的编译 阅读全文
posted @ 2017-07-26 12:59 prayer521 阅读(348) 评论(0) 推荐(0) 编辑
摘要:把一个预处理指示写成多行要用“\”续行,因为根据定义,一条预处理指示只能由一个逻辑代码行组成。 而把C代码写成多行则不必使用续行符,因为换行在C代码中只不过是一种空白字符,在做语法解析时所有空白字符都被丢弃了。 在Linux的shell命令中亦可使用该换行符,在击回车键之前输入“\”,即可实现多行命 阅读全文
posted @ 2017-05-08 10:52 prayer521 阅读(15592) 评论(0) 推荐(0) 编辑
摘要:__align关键字指示编译器在n字节边界上对齐变量。 __align是一个存储类修饰符。它不影响函数的类型。 语法 __align(n) 其中: n是对齐边界。 n可以具有值1、2、4或者8. __align关键字紧靠变量名称前面放置。 阅读全文
posted @ 2017-05-02 09:00 prayer521 阅读(142) 评论(0) 推荐(0) 编辑
摘要:http://comm.chinaaet.com/adi/blogdetail/30279.html 阅读全文
posted @ 2017-01-18 10:16 prayer521 阅读(1055) 评论(0) 推荐(0) 编辑
摘要:STM32 在用JLink 调试的时候发现有一条将unsigned char赋值给int的语句始终不能执行,int类型变量的值始终为0; 查资料找到这个问题是编译器优化的原因,也就是说由于编译器优化,赋值语句始终没有执行; 解决办法: 在变量声明前加 volatile 修饰即可,这样就能保证赋值语句 阅读全文
posted @ 2017-01-12 16:16 prayer521 阅读(609) 评论(0) 推荐(0) 编辑
摘要:在Keil MDKARM中 unsigned int value2=0x80000000; unsigned int value4=2147483648; value2编译时不产生警告,而value4就产生警告 main.c(17): warning: #1134-D: literal treate 阅读全文
posted @ 2017-01-12 10:37 prayer521 阅读(2740) 评论(0) 推荐(0) 编辑
摘要:一、常量包括字面常量,符号常量,契约型常量,枚举常量这几种类型。 字面常量包括:整形常量,字符型常量,字符串常量。注意:不存在数组常量,结构体常量等结构型的字面常量。但是存在结构型的符号常量。 字面常量的种类: (1)整形 整形数值 默认是int型,例如:22,33 如果要表示一个long型,则加 阅读全文
posted @ 2017-01-12 10:35 prayer521 阅读(652) 评论(0) 推荐(0) 编辑
摘要:原型:long atol(const char *nptr); 相关函数 atoi,atol,strtod,strtol,strtoul 头文件:stdlib.h 功能:将字符串转换成整型数 说明:参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束 阅读全文
posted @ 2017-01-09 16:51 prayer521 阅读(329) 评论(0) 推荐(0) 编辑
摘要:根据数值不同自动选择%f或%e,%e格式在指数小于-4或者大于等于精度时使用 五种标志将在后面的表中说明,可以使用零个或者多个标志 示例: "%-10d" 字段宽度的最小值。如果字段不能容纳要打印的数或者字符串,系统会使用更宽的字段 示例: "%4d",“%10s” 精度.对于%e,%E和%f转换, 阅读全文
posted @ 2016-12-06 22:38 prayer521 阅读(14506) 评论(0) 推荐(1) 编辑
摘要:C语言里面是没有bool(布尔)类型的,C++里面才有,这就是说,在C++里面使用bool类型是没有问题的。 bool类型有只有两个值:true =1 、false=0。 但是,C99标准里面,又定义了bool类型变量。这时,只要引入头文件 <stdbool.h>,就能在C语言里面正常使用bool类 阅读全文
posted @ 2016-10-31 16:25 prayer521 阅读(1057) 评论(0) 推荐(1) 编辑
摘要:IMPORT ,定义表示这是一个外部变量的标号,不是在本程序定义的EXPORT ,表示本程序里面用到的变量提供给其他模块调用的。以上两个在汇编和C语言混合编程的时候用到刚看到一篇不错的BLOG,解说C和汇编混编的,虽然貌似是翻译ADS文档的,不过写的挺不错,通俗容易懂,可以看看其实汇编调用C貌似很简 阅读全文
posted @ 2016-09-21 20:49 prayer521 阅读(4825) 评论(1) 推荐(1) 编辑
摘要:转: c语言中数字后面带个U是什么意思?#define F_CPU 12000000U答:U表示该常数用无符号整型方式存储,相当于unsigned int;L表示该常数用长整型方式存储,相当于longF表示该常数用浮点方式存储,相当于float 阅读全文
posted @ 2016-09-11 16:05 prayer521 阅读(2800) 评论(0) 推荐(0) 编辑
摘要:1:隐藏 假如一个工程中存在a.c、 b.c 以及main.c等C文件。 . 静态函数 在函数的返回类型前加上关键字static,函数就被定义成为静态函数。 函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。 . 局部静态变量 在局部变量之前加上关 阅读全文
posted @ 2016-09-10 23:36 prayer521 阅读(261) 评论(0) 推荐(0) 编辑
摘要:C语言中按位异或运算符^: 0 ^ 1 = 1 1 ^ 1 = 0 与1异或就是取反; 0 ^ 0 = 0 1 ^ 0 = 1 与0异或原位不变; 阅读全文
posted @ 2016-08-27 21:06 prayer521 阅读(402) 评论(0) 推荐(0) 编辑
摘要:功能: 函数sprintf()用来作格式化的输出。用法: 此函数调用方式为int sprintf(char *string,char *format,arg_list);说 明: 函数sprintf()的用法和printf()函数一样,只是sprintf()函数给出第一个参数string(一般为字符 阅读全文
posted @ 2016-08-24 16:15 prayer521 阅读(212) 评论(0) 推荐(0) 编辑
摘要:c++语言中提供了对函数重载的支持,是我们在编程时可以对不同的功能赋予相同的函数名,编译时会根据上下文(实参的类型和个数)来确定使用哪一个具体功能。 两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数,这就是函数的重载。 阅读全文
posted @ 2016-08-12 10:08 prayer521 阅读(194) 评论(0) 推荐(0) 编辑
摘要:对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。 引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用 阅读全文
posted @ 2016-08-12 09:25 prayer521 阅读(234) 评论(0) 推荐(0) 编辑
摘要:C++中#include包含头文件带 .h 和不带 .h 的区别? 如 #include <iostream> 和 #include <iostream.h> 包含的东西有哪些不同? 之前在写C++程序的时候只知道使用 #include <iostream> 的时候,使用函数前要用 using na 阅读全文
posted @ 2016-08-11 22:32 prayer521 阅读(9904) 评论(0) 推荐(2) 编辑
摘要:http://www.cnblogs.com/uniqueliu/archive/2011/07/10/2102238.html 阅读全文
posted @ 2016-08-11 22:19 prayer521 阅读(176) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示