- 博客(19)
- 收藏
- 关注
原创 win10 无法识别有线网络
问题:“未识别的网络”原因:曾经为了连接数据采集卡的网口,将IP分配方式设置为了手动解决办法:切换回 "自动(DHCP)"
2024-07-15 16:46:01 298
原创 MATLAB R2021a离线下载并安装硬件支持包
第三方包:Simulink Coder Support Package for STMicroelectronics Nucleo Boards。链接:https://pan.baidu.com/s/1mBcw1ESQcww6olXYBwrDJw。1、或许需要重启下MATLAB才能看到新安装的支持包;最后搜索并下载你想安装的包即可,下载路径无所谓。2、或许其他支持包的离线安装方法雷同。MATLAB版本: R2021a。4. 选择支持包安装即可。第三方包CMSIS下载失败。,离线下载并安装支持包。
2022-09-30 10:45:06 14842 8
原创 C++编译器错误C3848
案例描述:在set容器中插入自定义类型,并使用仿函数指定排序方式。#include <iostream>using namespace std;#include <set>#include <string>class Person{public: Person(string name, int age) { this->m_name = name; this->m_age = age; }public: string m.
2022-05-26 09:10:55 1958 3
原创 C-文件读写相关
1、fputc and fgetc: 按顺序单个读写int main(){ // 绝对路径 // file* pf = fopen("c:\\users\\fami7z\\source\\repos\\文件学习\\test.txt", "r"); // 相对路径 FILE* pf = fopen("test.txt", "r"); if (pf == NULL) { perror("fopen"); return 1; } // write into file: fputc
2022-04-15 10:41:05 163
原创 C-字符串函数(续)strtok函数的使用和模拟实现及strerror/perror的使用
六、strtokchar * strtok ( char * str, const char * delimiters );Split string into tokensA sequence of calls to this function splitstrinto tokens, which are sequences of contiguous characters separated by any of the characters that are part ofdelimi...
2022-04-08 23:57:33 1057
原创 C-库函数 qsort 的使用及模拟实现
#include <stdio.h>#include <stdlib.h>#include <string.h>struct Stu{ char name[20]; int age;};// 冒泡排序 -> 不能对任意类型进行排序void bubble_sort(int *p,int s){ // 趟数 for (int i = 0; i < s - 1; i++) { // 每趟 for (int j = 0; j &l.
2022-04-06 17:20:05 111
原创 C-回调函数
回调函数:通过函数指针调用的函数。把函数的指针(地址) 作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。...
2022-04-05 18:22:42 264
原创 C-函数指针数组及应用
数组是一个存放相同类型数据的存储空间,比如整型指针数组:int* arr[10];// 数组的每个元素是 int*函数指针数组:存放函数地址的数组。定义方法:int (*parr1[10])(int, int);int (* )(int, int); // 参数为两个int,返回类型为int的函数指针类型。理解:parr1 先和 [ ] 结合,说明 parr1 是数组,数组内容是 int (* )(int, int) 类型的函数指针。简单应用:转移表Example:.
2022-04-03 11:44:09 334
原创 C-浮点型数据在内存中的存储
(一)浮点数在计算机内部的存储方法:根据国际标准IEEE(电气和电子工程协会),任意一个二进制浮点数V可以表示成下面的形式:(-1)^s*M* 2^E(-1)^s表示符号位,当s=0,V为正数; 当s=1,V为负数。M表示有效数字,大于等于1,小于2。2^E表示指数位。举例来说︰十进制的5.5,写成二进制是101.1,相当于1.011x2^2。那么,按照上面V的格式,可以得出s=0, M=1.011,E=2。十进制的-5.0,写成二进制是-101.0,相当于-1.01x2^2。.
2022-04-02 10:42:28 119
原创 C-整型数据存储之大小端模式
1、何谓大、小端模式?例如一个16bit的short型x,在内存中的地址为0x0010,x的值为0x1122,那么0x11为高字节,0x22为低字节。大端模式:字节序与地址序相反,即0x11放在0x0010中、0x22放在0x0011中;小端模式:字节序与地址序相同,即0x22放在0x0010中、0x11放在0x0011中。2、何来大小端模式之分?这是因为再计算机系统中,是以字节为单位的,每个地址都对应着一个字节,一个字节为 8 个 bit 。但是在C语言在中除了 8 bit 的char
2022-03-27 08:10:00 1181 1
原创 C-模拟实现库函数strcpy(代码的优化练习)
#include <stdio.h>// first editionvoid my_strcpy(char* dest, char* src){ while (*src != '\0') { *dest = *src; dest++; src++; } *dest = *src;}int main(){ char arr1[20] = "123456789"; char arr2[] = "fami"; my_strcpy(arr1, arr2); /.
2022-03-26 11:00:52 341
原创 C - const 修饰指针变量
const 修饰指针变量的时候:1、const 如果放在 * 的右边,修饰的是指针变量 p,表示指针变量不能被改变,但指针指向的内容可以被改变。int main(){ const int num = 10; //num = 20; //err int* const p = # int n = 100; *p = 20; //ok //p = &n; //err return 0;}2、const 如果放在 * 的左边,修饰的是 *p,表示指针指向的
2022-03-26 10:09:05 885
原创 C-栈区内存的使用习惯(调试练习)
以上代码运行会陷入死循环,调试发现 i 和 arr[12] 的地址相同!若先创建 arr,再创建 i调试发现此时i 和 arr[12] 的地址不同!
2022-03-26 08:50:40 107
原创 C-参数压栈
#include <stdio.h>struct S{ char subject[20]; int points;};struct Stu{ struct S score; char name[20]; int age; char id[20];};void print1(struct Stu p){ printf("%s %d %s %s %d \n", p.name, p.age, p.id, p.score.subject, p.score.points).
2022-03-25 15:19:44 177
原创 C-指针运算
1、指针 +- 整数2、指针 - 指针(指针 +指针没有意义,类似于日期+日期)3、指针的关系运算实例1:实例2:int main(){ int arr[10] = { 1,2,3,4,5,6,7,8,9,10 }; int* pStart = arr; int* pEnd = arr + 9; while (pStart <= pEnd) { printf("%d ", *pStart); pStart++; } printf("\n");...
2022-03-24 11:48:59 179
原创 C-野指针
概念:野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)野指针成因1、指针未初始化#include <stdio.h>int main(){ int* p; //局部变量指针未初始化,默认为随机值(无访问权限) *p = 10; //非法操作 return 0;}2、指针越界访问#include <stdio.h>int main(){ int arr[10] = { 0 }; int* p =
2022-03-24 10:48:42 1103
原创 C-指针类型的意义
决定了 :1、解引用时,对(以指针所代表的地址开始的)内存空间的访问权限时多大。int a = 0x11223344; // 4个字节(byte)char* p = &a; // 1个字节(byte)*p = 0; // 此操作仅能将 a 的第一个字节改为 0,于是 a = 0x2233442、指针走一步,能走多远。int arr[] = {1,2,3,4};char* p = &arr;int i = 0;for(i=0; i<4;
2022-03-24 00:04:48 102
原创 C-隐式类型转换
C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符(char)和短整型(short)型操作数在使用之前被转换为普通整型,这种转换称为整型提升。整型提升的意义:表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器(ALU)的操作数的字节长度一般就是 int 的字节长度,同时也是CPU的通用寄存器的长度。因此,即使两个 char 类型的相加,在CPU执行时实际上也要先转换为CPU内整型操作数的标准长度。通用CPU(general-purpos
2022-03-23 12:09:15 300
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人