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