![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C C++
【鹰击司马】
高级嵌入式工程师
展开
-
C语言中结构体与字符数组之间的相互转换
#include <stdio.h>#include <stdlib.h>#include <string.h>#pragma pack(push)#pragma pack(1) typedef struct strcChange{ unsigned int B; unsigned short C; unsigned char A;}ST...原创 2018-12-07 14:46:19 · 2303 阅读 · 0 评论 -
两个字节合并成一个16位short类型
1、例如将两个char类型,合并成一个short类型思路:如下代码所示unsigned short func = 0;func = func | data[7];func = func << 8;func = func | data[8];如上代码所示,先将temp的低八位与st[1]进行或运算,然后temp的第八位就是st[1]了,在将temp左移8位,将第八位...转载 2018-12-06 10:51:05 · 5125 阅读 · 0 评论 -
数组指针和指针数组的区别
数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a; //将该二...转载 2018-12-05 14:29:10 · 126 阅读 · 0 评论 -
C语言判断字符串为空
原文:https://blog.csdn.net/selina8921/article/details/79176297一般而言,我们习惯用一个字符数组用来存储一个字符串。char str_array[LEN];或者malloc一段内存来存储一个字符串char * str_ptr = (char*) malloc (LEN*sizeof(char));定义了数组或字符指针之后,需要做一个...转载 2018-11-28 14:16:08 · 7000 阅读 · 0 评论 -
Linux之#pragma的用法
预编译指令#pragma的用法原文:https://blog.csdn.net/tigerjibo/article/details/7000861 最近在看开源项目中的代码时,发现许多地方都用到了#pragma的程序。因此,就问了下谷歌老师,总结了下#pragma预编译指令的常用用法,现在和大家分享下。一.#pragma最常用的方法1. #progma pack(n)1>...转载 2018-11-06 10:53:00 · 2544 阅读 · 0 评论 -
isdigit 函数
原型:extern int isdigit(int c);用法:#include <ctype.h>功能:判断字符c是否为数字说明:当c为数字0-9时,返回非零值,否则返回零。举例: // isdigit.c #include <syslib.h> #include <ctype.h> main(){ ...原创 2018-10-16 10:38:58 · 2162 阅读 · 0 评论 -
atoi函数
标准C库函数#include <stdlib.h>原型 : int atoi( const char *str );功能:将字符串str转换成一个整数并返回结果。参数str 以数字开头,当函数从str中读到非数字字符则结束转换并将结果返回。例如:int num = atoi(“1314.012”);int值为1314...转载 2018-10-16 10:36:46 · 6583 阅读 · 0 评论 -
strlen()函数
描述C 库函数 size_t strlen(const char *str) 计算字符串 str 的长度,直到空结束字符,但不包括空结束字符。声明下面是 strlen() 函数的声明。size_t strlen(const char *str)参数str – 要计算长度的字符串。返回值该函数返回字符串的长度。实例下面的实例演示了 strlen() 函数的用法。#includ...原创 2018-10-15 17:51:51 · 63300 阅读 · 10 评论 -
C switch 语句
一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。语法C 语言中 switch 语句的语法:switch(expression){ case constant-expression : statement(s); break; /* 可选的 */ ca...转载 2018-10-15 14:01:14 · 47934 阅读 · 0 评论 -
extern “C”的作用详解
原文地址https://www.cnblogs.com/carsonzhu/p/5272271.htmlextern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函...转载 2018-10-08 14:41:09 · 128 阅读 · 0 评论 -
char、short、long、double占几个字节,32位机中
char占1字节,short占 2 字节,int 、float、long 都占 4 字节,double 占8 字节指针长度和地址总线有关。因为指针记录的就是一个地址,那么32位的就是4字节,64位的就是8字节。发现一个问题,以下代码是在win10 64位系统下跑的,理应来说int占8个字节,后来我想错了;我建立的工程是win32控制台应用,意味着编译器就是32位的–“int占多少个字节既由编译...转载 2018-10-18 09:20:13 · 10190 阅读 · 0 评论 -
gcc编译cpp文件为什么要加-lstdc++
gcc可以编译c++文件,也可以编译c文件,但默认是编译c文件的,加-lstdc++表示编译c++文件,即链接c++库,加-lc表示链接c库,默认情况下就是链接c库,所以如果编译c文件可以不加-lc。...转载 2018-09-26 14:23:27 · 10240 阅读 · 0 评论 -
把结构体与数组之间的转换
作者:文石_2009原文:https://blog.csdn.net/farsight_2098/article/details/86614527二维数组和一维数组的转换很简单,直接是强制转换即可,例如:#include<stdio.h>#include<string.h>unsigned char aa[4][4] = {{1,2,3,4},{5,6,7...转载 2019-05-09 11:03:36 · 2921 阅读 · 0 评论