
编程类
编程类
荣子3507
电子爱好者
展开
-
函数指针的初始化
函数指针的初始化原创 2022-01-18 08:16:09 · 1247 阅读 · 0 评论 -
《C和指针》学习笔记 -- 宏与函数
宏相比较比函数优越的地方:1.函数的参数必须声明为一种特定的类型,所以它只能在类型合适的表达式上使用。而宏是与类型无关的。#define MAX(a, b) ((a)>(b)?(a):(b))2.还有一些任务是函数根本无法完成的,比如:原创 2021-12-29 23:11:38 · 128 阅读 · 0 评论 -
C中有关i++的问题
今天碰到了有关i++的一个奇怪的问题,和自己以前认为的完全不一样。代码如下#include #include main(){ unsigned char array[] = {0xaa, 0xbb, 0xcc, 0xdd, 0xee}; u_int8_t tmp0; u_int16_t tmp1; int i; i = 0; tmp1 = array[i++] | ((u_int原创 2015-01-13 23:35:38 · 656 阅读 · 0 评论 -
编程时发现记录的一些问题
1. 编程时偶然发现,可以编写如下程序,用来查看操作系统是多少位int main(int argc, char *argv[]){ printf("%d\n", sizeof(int *)); return 0;}编译执行后,打印8说明系统是64bit, 打印4说明系统是32bit2. OS X系统打开终端的命令:command + t : 在同一窗口打开终原创 2016-04-06 00:42:28 · 1336 阅读 · 0 评论 -
字符串的while()循环遍历
下面是两种遍历字符串时的while()循环char *str1 = "abcdefg";char *str2 = "abcdefg";//第一种遍历while (*(str++)) { ;}//第二种遍历while (*str2) { ; str2++;}经验判断, 最好用第二种遍历.下面是采用两种遍历的程序, 采用第一种遍历的程序输出结果错误原创 2016-04-16 16:48:02 · 13360 阅读 · 0 评论 -
链表操作函数 C
#include #include typedef struct tagNode {struct tagNode *fwd;struct tagNode *bwd;int value;}DDL_S;int valuePrint(DDL_S *rootp){DDL_S *current;DDL_S *next;int i = 0;pri原创 2017-06-03 01:07:01 · 1920 阅读 · 0 评论 -
符号表的理解
编译符号表概念原创 2018-06-24 01:28:08 · 262 阅读 · 0 评论 -
linux软件的环境变量设置
linux软件的环境变量设置 比方说交叉编辑工具cross_compile安装在了/user/sdk/cross_compile中,下面介绍三种cross_compile环境变量的设置方法: 1. 直接用export命令 export PATH = $PATH: /user/sdk/cross_compile 2. 修改profile文件原创 2016-03-31 14:42:14 · 1001 阅读 · 0 评论 -
gcc编译警告---warning: control reaches end of non-void function
用gcc编译一个程序的时候出现这样的警告:warning: control reaches end of non-void function它的意思是:控制到达非void函数的结尾。就是说你的一些本应带有返回值的函数到达结尾后可能并没有返回任何值。这时候,最好检查一下是否每个控制流都会有返回值。转载 2015-05-26 14:54:01 · 1835 阅读 · 0 评论 -
《C与指针》学习笔记
宏相比较比函数优越的地方:1.函数的参数必须声明为一种特定的类型,所以它只能在类型合适的表达式上使用。而宏是与类型无关的。#define MAX(a, b) ((a)>(b)?(a):(b))2.还有一些任务是函数根本无法完成的,比如:#define MALLOC(n, type) ((type *)malloc((n)*sizeof(type))有了以上宏定义后,可以这样应用:p原创 2015-06-10 15:29:57 · 471 阅读 · 0 评论