[{"content":" 知识点 # 2.1 常量, 变量, 整形, 实型, 字符型 # @ 数据类型图 ![[P1 数据类型.canvas|P1 数据类型]] 2.1.2 每种数据类型所占内存大小及取值范围 # 数据类型 32 位系统（字节） 64 位系统 最小值 最大值 char 1 1 -128 127 short 2 2 -32767 32768 unsigned short 2 2 0 65536 int 4 4 -2147483648 2147483647 unsigned int 4 4 0 4294967295 float 4 4 double 8 8 long 4 8 -2147483648 2147483647 long long 8 8 -9223372036854775807 9223372036854775808 unsigned long long 8 8 0 18446744073709551615 2.1.3 常量和变量 # [!Note] 常量和变量\n常量: ==在程序运行过程中, 其值不能被改变的量==\n整形常量 浮点型(实型)常量 字符常量: 用一对单引号包含起来的一个字符, 如`a` 变量: ==其值可以改变的量==\n! 变量肯定会有一个变量名, 在内存中会占用一定的存储空间,变量名就是一个标识符 @ 标识符: 由字母, 数字, 下划线三种字符组成, 并且第一个字符为字母或者下划线\n! 第一个字符绝对不能是数字 @ 保留字: 系统保留起来, 有特殊用途\n! 不能将保留字作为标识符来使用 ","externalUrl":null,"permalink":"/notes/c-cpp/c/c%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/p3-%E6%A0%BC%E5%BC%8F%E5%8C%96%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA-1/","section":"S","summary":"\u003chr\u003e\n\n\u003ch1 class=\"relative group\"\u003e知识点\n    \u003cdiv id=\"知识点\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#%e7%9f%a5%e8%af%86%e7%82%b9\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h1\u003e\n\n\u003ch2 class=\"relative group\"\u003e2.1 \u003cstrong\u003e常量, 变量, 整形, 实型, 字符型\u003c/strong\u003e\n    \u003cdiv id=\"21-常量-变量-整形-实型-字符型\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#21-%e5%b8%b8%e9%87%8f-%e5%8f%98%e9%87%8f-%e6%95%b4%e5%bd%a2-%e5%ae%9e%e5%9e%8b-%e5%ad%97%e7%ac%a6%e5%9e%8b\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e@ 数据类型图\n\u003cul\u003e\n\u003cli\u003e![[P1 数据类型.canvas|P1 数据类型]]\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3 class=\"relative group\"\u003e2.1.2 每种数据类型\u003cstrong\u003e所占内存大小及取值范围\u003c/strong\u003e\n    \u003cdiv id=\"212-每种数据类型所占内存大小及取值范围\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#212-%e6%af%8f%e7%a7%8d%e6%95%b0%e6%8d%ae%e7%b1%bb%e5%9e%8b%e6%89%80%e5%8d%a0%e5%86%85%e5%ad%98%e5%a4%a7%e5%b0%8f%e5%8f%8a%e5%8f%96%e5%80%bc%e8%8c%83%e5%9b%b4\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h3\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth\u003e数据类型\u003c/th\u003e\n          \u003cth\u003e32 位系统（字节）\u003c/th\u003e\n          \u003cth\u003e64 位系统\u003c/th\u003e\n          \u003cth\u003e最小值\u003c/th\u003e\n          \u003cth\u003e最大值\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003echar\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e1\u003c/td\u003e\n          \u003ctd\u003e1\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e-128\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e127\u003c/code\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003eshort\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e2\u003c/td\u003e\n          \u003ctd\u003e2\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e-32767\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e32768\u003c/code\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003eunsigned short\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e2\u003c/td\u003e\n          \u003ctd\u003e2\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e0\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e65536\u003c/code\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003eint\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e4\u003c/td\u003e\n          \u003ctd\u003e4\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e-2147483648\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e2147483647\u003c/code\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003eunsigned int\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e4\u003c/td\u003e\n          \u003ctd\u003e4\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e0\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e4294967295\u003c/code\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003efloat\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e4\u003c/td\u003e\n          \u003ctd\u003e4\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003edouble\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e8\u003c/td\u003e\n          \u003ctd\u003e8\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n          \u003ctd\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003elong\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e4\u003c/td\u003e\n          \u003ctd\u003e8\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e-2147483648\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e2147483647\u003c/code\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003elong long\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e8\u003c/td\u003e\n          \u003ctd\u003e8\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e-9223372036854775807\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e9223372036854775808\u003c/code\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd\u003e\u003ccode\u003eunsigned long long\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e8\u003c/td\u003e\n          \u003ctd\u003e8\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e0\u003c/code\u003e\u003c/td\u003e\n          \u003ctd\u003e\u003ccode\u003e18446744073709551615\u003c/code\u003e\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003ch3 class=\"relative group\"\u003e2.1.3 常量和变量\n    \u003cdiv id=\"213-常量和变量\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#213-%e5%b8%b8%e9%87%8f%e5%92%8c%e5%8f%98%e9%87%8f\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h3\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!Note] 常量和变量\u003c/p\u003e","title":"title: P1 C语言的数据结构","type":"notes"},{"content":" (这里开始写正文\u0026hellip;) # created: 2025-11-04T18:16 updated: 2025-11-04T19:16 # 指针的算数运算 # @ 指针的算术运算 指针加上整数 指针减去整数 两个指针相减 ! 在一个不指向任何数组元素的指针上执行算术运算会导致未定义的行为 ! 只有在两个指针指向同一个数组时，把他们相减才有意义 指针加上整数 \u0026amp; 指针减去整数 # int a[10]; int *p = \u0026amp;a[0]; p = p + 2; //指针向右移动两个位置 p = p - 2; //指针向左移动两个位置 ![[Pasted image 20251104182339.png]]\n两个指针相减 # @ 两个指针相减时，结果是指针之间的距离（用数组元素的个数来衡量） 指针比较 # ! 只有在两个指针指向同一个数组时，用关系运算符进行指针比较才有意义，比较的结果依赖于数组中两个元素的相对位置 @ 比较运算符 \u0026lt;、\u0026lt;=、\u0026gt;和\u0026gt;= @ 判等运算符 == 和 != 指向复合字面量的指针 # @ 复合字面量，可以用于创建没有名称的数组 int *p = (int []){3, 0, 3, 4, 1}; //p 指向一个 5 元素数组的第一个元素，这个数组包括 5 个整数：3、0、3、4 和 1 int a[] = {3, 0, 3, 4, 1}; int *p = \u0026amp;a[0]; 指针用于数组处理 # #define N 10 ... int a[N], sum, *p; ... sum = 0; for (p = \u0026amp;a[0]; p \u0026lt; \u0026amp;a[N]; p++) sum += *p; ! 尽管元素 a[N]不存在（数组 a 的下标为0~N-1），但是对它使用取地址运算符是合法的。因为循环不会尝试检查 a[N]的值，所以在上述方式下使用 a[N]是非常安全的 1 采用指针对数组进行处理的好处时可以节省执行时间 * 运算符和++运算符的组合 # *p++或 *(p++) 自增前表达式的值是 *p，以后再自增 p 用数组名作为指针 # @ 用数组的名字作为指向数组第一个元素的指针 *(a+1) = 12 // 把 12 储存到 a[1] 通常情况下，a + i 等同于\u0026amp;a[i] *(a+i)等价于 a[i] @ 通过使用数组名作为指针，来简化数组遍历的方法 #define N 10 int a[N] = {0}; int *p; for(p = a; p\u0026lt;a+N; p++){ sum += *p } ! 虽然可以把数组名当作指针，但是不能给数组名赋新的值 数组型实际参数 # @ 数组名在传递给函数时，总是被视为指针, 所以作为实际参数的数组的值是可能被改变的 ! 如果不希望改变数组的值，可以在函数的形参的定义前面加上 const @ 对于形参而言，声明为数组跟生命为指针是一样的。但是对于变量是不一样 用指针作为数组名 # int a[N], i, sum = 0, *p = a; ... for (i = 0; i \u0026lt; N; i++) sum += p[i]; 指针和多维数组 # 处理多维数组的元素 # @ 多维数组的内存的存储过程 ![[Pasted image 20251104190636.png]] int a[row][col]; int *p; ... for (p = \u0026amp;a[0][0]; p \u0026lt;= \u0026amp;a[NUM_ROWS-1][NUM_COLS-1]; p++) *p = 0; 处理多维数组的行 # $没看懂$\n用多维数组名作为指针 # @ ","date":"2025-11-20","externalUrl":null,"permalink":"/notes/c-cpp/c/c%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/p12-%E6%8C%87%E9%92%88%E5%92%8C%E6%95%B0%E7%BB%84/","section":"S","summary":"\u003ch2 class=\"relative group\"\u003e(这里开始写正文\u0026hellip;)\n    \u003cdiv id=\"这里开始写正文\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#%e8%bf%99%e9%87%8c%e5%bc%80%e5%a7%8b%e5%86%99%e6%ad%a3%e6%96%87\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h2\u003e\n\n\u003ch2 class=\"relative group\"\u003ecreated: 2025-11-04T18:16\nupdated: 2025-11-04T19:16\n    \u003cdiv id=\"updated-2025-11-04t1916\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#updated-2025-11-04t1916\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h2\u003e\n\n\u003ch1 class=\"relative group\"\u003e指针的算数运算\n    \u003cdiv id=\"指针的算数运算\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#%e6%8c%87%e9%92%88%e7%9a%84%e7%ae%97%e6%95%b0%e8%bf%90%e7%ae%97\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e@ 指针的算术运算\n\u003cul\u003e\n\u003cli\u003e指针加上整数\u003c/li\u003e\n\u003cli\u003e指针减去整数\u003c/li\u003e\n\u003cli\u003e两个指针相减\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e! 在一个不指向任何数组元素的指针上执行算术运算会导致未定义的行为\u003c/li\u003e\n\u003cli\u003e! \u003cstrong\u003e只有在两个指针指向同一个数组时，把他们相减才有意义\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch2 class=\"relative group\"\u003e指针加上整数 \u0026amp; 指针减去整数\n    \u003cdiv id=\"指针加上整数--指针减去整数\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#%e6%8c%87%e9%92%88%e5%8a%a0%e4%b8%8a%e6%95%b4%e6%95%b0--%e6%8c%87%e9%92%88%e5%87%8f%e5%8e%bb%e6%95%b4%e6%95%b0\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h2\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\u003ccode class=\"language-c\" data-lang=\"c\"\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kt\"\u003eint\u003c/span\u003e \u003cspan class=\"n\"\u003ea\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e10\u003c/span\u003e\u003cspan class=\"p\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"kt\"\u003eint\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"n\"\u003ep\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026amp;\u003c/span\u003e\u003cspan class=\"n\"\u003ea\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"n\"\u003ep\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ep\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"mi\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e;\u003c/span\u003e \u003cspan class=\"c1\"\u003e//指针向右移动两个位置\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"line\"\u003e\u003cspan class=\"cl\"\u003e\u003cspan class=\"c1\"\u003e\u003c/span\u003e\u003cspan class=\"n\"\u003ep\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003ep\u003c/span\u003e \u003cspan class=\"o\"\u003e-\u003c/span\u003e \u003cspan class=\"mi\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e;\u003c/span\u003e \u003cspan class=\"c1\"\u003e//指针向左移动两个位置 \n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003e![[Pasted image 20251104182339.png]]\u003c/p\u003e","title":"P12 格式化输入、输出","type":"notes"},{"content":"C语言基础与进阶。\n","date":"2025-11-20","externalUrl":null,"permalink":"/notes/c-cpp/c/c%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/","section":"S","summary":"\u003cp\u003eC语言基础与进阶。\u003c/p\u003e","title":"C语言程序设计","type":"notes"},{"content":"C语言基础与进阶。\n","externalUrl":null,"permalink":"/notes/c-cpp/c/","section":"S","summary":"\u003cp\u003eC语言基础与进阶。\u003c/p\u003e","title":"C","type":"notes"},{"content":"C/C++ 编程语言学习笔记。\n","externalUrl":null,"permalink":"/notes/c-cpp/","section":"S","summary":"\u003cp\u003eC/C++ 编程语言学习笔记。\u003c/p\u003e","title":"C/C++","type":"notes"},{"content":"C++ 现代编程指南。\n","externalUrl":null,"permalink":"/notes/c-cpp/cpp/","section":"S","summary":"\u003cp\u003eC++ 现代编程指南。\u003c/p\u003e","title":"C++","type":"notes"},{"content":"这是MCU相关的技术笔记分类。\n","externalUrl":null,"permalink":"/notes/mcu/","section":"S","summary":"\u003cp\u003e这是MCU相关的技术笔记分类。\u003c/p\u003e","title":"MCU","type":"notes"},{"content":"这是RTOS相关的技术笔记分类。\n","externalUrl":null,"permalink":"/notes/rtos/","section":"S","summary":"\u003cp\u003e这是RTOS相关的技术笔记分类。\u003c/p\u003e","title":"RTOS","type":"notes"},{"content":"数据结构与算法学习笔记。\n","externalUrl":null,"permalink":"/notes/algorithms/","section":"S","summary":"\u003cp\u003e数据结构与算法学习笔记。\u003c/p\u003e","title":"数据结构与算法","type":"notes"},{"content":"","date":"2025-11-20","externalUrl":null,"permalink":"/categories/c/c++/","section":"Categories","summary":"","title":"C/C++","type":"categories"},{"content":"","date":"2025-11-20","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","date":"2025-11-20","externalUrl":null,"permalink":"/tags/c%E8%AF%AD%E8%A8%80/","section":"Tags","summary":"","title":"C语言","type":"tags"},{"content":"","date":"2025-11-20","externalUrl":null,"permalink":"/series/c%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E7%AC%94%E8%AE%B0/","section":"Series","summary":"","title":"C语言程序设计笔记","type":"series"},{"content":"","date":"2025-11-20","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"},{"content":"","date":"2025-11-20","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"","date":"2025-11-20","externalUrl":null,"permalink":"/tags/%E5%9F%BA%E7%A1%80/","section":"Tags","summary":"","title":"基础","type":"tags"},{"content":"","date":"2025-11-20","externalUrl":null,"permalink":"/tags/%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA/","section":"Tags","summary":"","title":"输入输出","type":"tags"},{"content":"","externalUrl":null,"permalink":"/series/c-%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E7%AC%94%E8%AE%B0/","section":"Series","summary":"","title":"C 语言程序设计笔记","type":"series"},{"content":"","externalUrl":null,"permalink":"/tags/c%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/","section":"Tags","summary":"","title":"C语言程序设计","type":"tags"},{"content":"这是技术笔记的主页，包含所有技术笔记的分类。\n","externalUrl":null,"permalink":"/notes/","section":"S","summary":"\u003cp\u003e这是技术笔记的主页，包含所有技术笔记的分类。\u003c/p\u003e","title":"S","type":"notes"},{"content":" 关于我 # 个人简介 # 我是一名大三学生，主修电子工程专业，专注于嵌入式系统开发方向。自大学以来，我就对嵌入式系统产生了浓厚的兴趣，并投入大量时间学习和实践相关技术。\n教育背景 # 大学: XX大学 专业: 电子工程 年级: 大三 预计毕业时间: 2025年6月 技能概览 # 编程语言 # C/C++ (熟练) Python (基础) JavaScript (基础) 嵌入式平台 # STM32系列微控制器 ESP32系列微控制器 TI MSP430系列微控制器 实时操作系统 # FreeRTOS RT-Thread 开发工具 # Keil MDK STM32CubeIDE PlatformIO VS Code Git 硬件设计 # 电路设计基础 PCB设计基础 传感器应用 通信协议 (UART, SPI, I2C, USB, WiFi, Bluetooth) 项目经验 # 智能家居控制系统 # 基于STM32和ESP32的智能家居控制系统，实现了温湿度监测、灯光控制和远程控制功能。\n低功耗环境监测器 # 基于MSP430的超低功耗环境监测设备，可连续工作数月，支持温度、湿度、气压监测。\n物联网网关 # 基于ESP32的物联网网关，支持多种通信协议，可连接多种传感器并上传数据到云端。\n职业目标 # 我的职业目标是成为一名专业的嵌入式软件工程师，在物联网、智能硬件或汽车电子领域发展。我希望能够在实际项目中应用所学知识，不断学习新技术，提升自己的专业能力。\n联系方式 # 邮箱: your-email@example.com GitHub: github.com/yourusername LinkedIn: linkedin.com/in/yourname ","externalUrl":null,"permalink":"/about/","section":"网站主页","summary":"\u003ch1 class=\"relative group\"\u003e关于我\n    \u003cdiv id=\"关于我\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#%e5%85%b3%e4%ba%8e%e6%88%91\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h1\u003e\n\n\u003ch2 class=\"relative group\"\u003e个人简介\n    \u003cdiv id=\"个人简介\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#%e4%b8%aa%e4%ba%ba%e7%ae%80%e4%bb%8b\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h2\u003e\n\u003cp\u003e我是一名大三学生，主修电子工程专业，专注于嵌入式系统开发方向。自大学以来，我就对嵌入式系统产生了浓厚的兴趣，并投入大量时间学习和实践相关技术。\u003c/p\u003e","title":"关于我","type":"page"},{"content":" 示例页面 # 这是网站的示例页面区域。\n","externalUrl":null,"permalink":"/examples/","section":"示例","summary":"\u003ch1 class=\"relative group\"\u003e示例页面\n    \u003cdiv id=\"示例页面\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#%e7%a4%ba%e4%be%8b%e9%a1%b5%e9%9d%a2\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h1\u003e\n\u003cp\u003e这是网站的示例页面区域。\u003c/p\u003e","title":"示例","type":"examples"},{"content":" 欢迎访问网站 # 这是一个简化版的网站框架，仅保留了基本结构和UI界面。\n","externalUrl":null,"permalink":"/","section":"网站主页","summary":"\u003ch1 class=\"relative group\"\u003e欢迎访问网站\n    \u003cdiv id=\"欢迎访问网站\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#%e6%ac%a2%e8%bf%8e%e8%ae%bf%e9%97%ae%e7%bd%91%e7%ab%99\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h1\u003e\n\u003cp\u003e这是一个简化版的网站框架，仅保留了基本结构和UI界面。\u003c/p\u003e","title":"网站主页","type":"page"},{"content":" 项目展示 # 以下是我在嵌入式系统开发领域的一些项目实践。\n智能家居控制系统 # 基于STM32和ESP32的智能家居控制系统，实现了温湿度监测、灯光控制和远程控制功能。\n技术栈: STM32, ESP32, FreeRTOS, MQTT\n项目亮点:\n实现了本地和远程控制的无缝切换 采用低功耗设计，延长设备使用寿命 支持多种传感器接入 查看项目详情\n低功耗环境监测器 # 基于MSP430的超低功耗环境监测设备，可连续工作数月，支持温度、湿度、气压监测。\n技术栈: MSP430, 传感器技术, 低功耗设计\n项目亮点:\n超低功耗设计，一颗电池可使用数月 高精度传感器数据采集 支持数据本地存储和远程传输 查看项目详情\n物联网网关 # 基于ESP32的物联网网关，支持多种通信协议，可连接多种传感器并上传数据到云端。\n技术栈: ESP32, WiFi, TCP/IP, 云平台集成\n项目亮点:\n支持多种通信协议的设备接入 稳定的数据传输机制 云端数据可视化展示 查看项目详情\n","externalUrl":null,"permalink":"/projects/","section":"网站主页","summary":"\u003ch1 class=\"relative group\"\u003e项目展示\n    \u003cdiv id=\"项目展示\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#%e9%a1%b9%e7%9b%ae%e5%b1%95%e7%a4%ba\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h1\u003e\n\u003cp\u003e以下是我在嵌入式系统开发领域的一些项目实践。\u003c/p\u003e","title":"项目展示","type":"page"},{"content":" 404 - 页面未找到 # 抱歉，您访问的页面不存在。\n您可能想要查看：\n首页 项目展示 技术文章 关于我 ","externalUrl":null,"permalink":"/404/","section":"网站主页","summary":"\u003ch1 class=\"relative group\"\u003e404 - 页面未找到\n    \u003cdiv id=\"404---页面未找到\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#404---%e9%a1%b5%e9%9d%a2%e6%9c%aa%e6%89%be%e5%88%b0\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h1\u003e\n\u003cp\u003e抱歉，您访问的页面不存在。\u003c/p\u003e","title":"页面未找到","type":"page"},{"content":" 隐私政策 # 最后更新时间：2025年11月7日\n引言 # 本隐私政策描述了当您访问本网站时，我们如何收集、使用和共享您的个人信息。\n我们收集的信息 # 当您访问本网站时，我们会自动收集有关您的设备的某些信息，包括有关您的Web浏览器、IP地址、时区以及安装在您设备上的某些Cookie的信息。此外，当您浏览本网站时，我们会收集有关您查看的各个网页或产品的信息，哪些网站或搜索词将您引荐到本网站，以及有关您如何与本网站互动的信息。我们将这种自动收集的信息称为\u0026quot;设备信息\u0026quot;。\n我们使用以下技术收集设备信息：\nCookies：放置在您的设备或计算机上的数据文件，通常包含匿名的唯一标识符。有关Cookie的更多信息以及如何禁用Cookie，请访问http://www.allaboutcookies.org。 日志文件：跟踪在本网站上发生的操作，并收集数据，包括您的IP地址、浏览器类型、互联网服务提供商、引荐/退出页面以及日期/时间戳。 网络信标、标签和像素：用于记录有关您如何浏览本网站的电子文件。 此外，当您通过本网站进行购买或尝试进行购买时，我们会从您那里收集某些信息，包括您的姓名、账单地址、送货地址、付款信息（包括信用卡号码）、电子邮件地址和电话号码。我们将此信息称为\u0026quot;订单信息\u0026quot;。\n在本隐私政策中，当我们谈论\u0026quot;个人信息\u0026quot;时，我们指的是设备信息和订单信息。\n我们如何使用您的个人信息 # 我们收集的订单信息通常用于履行通过本网站下达的订单（包括处理您的付款信息、安排发货以及向您提供发票和/或订单确认）。此外，我们使用此订单信息：\n与您沟通； 筛选我们的订单以防止潜在风险或欺诈；以及 与您分享的偏好一致，为您提供有关我们的产品或服务的信息或广告。 我们使用收集的设备信息来帮助我们筛选潜在风险和欺诈（特别是您的IP地址），并更普遍地改进和优化我们的网站（例如，通过生成有关客户如何浏览和与网站互动的分析，以及评估我们营销和广告活动的成功）。\n共享您的个人信息 # 我们将您的个人信息与第三方共享，以帮助我们使用您的个人信息，如上所述。例如，我们使用Google Analytics来帮助我们了解客户如何使用本网站\u0026ndash;您可以在此处阅读更多关于Google如何使用您的个人信息的信息：https://www.google.com/intl/en/policies/privacy/。您也可以在此处选择退出Google Analytics：https://tools.google.com/dlpage/gaoptout。\n最后，我们还可能共享您的个人信息以遵守适用的法律法规、响应我们收到的传票、搜查令或其他合法请求，或以其他方式保护我们的权利。\n不跟踪 # 请注意，当我们在您的浏览器中看到\u0026quot;不跟踪\u0026quot;信号时，我们不会改变我们收集和使用数据的做法。\n您的权利 # 如果您是欧洲居民，您有权访问我们持有的有关您的个人信息，并要求更正、更新或删除您的个人信息。如果您希望行使此权利，请通过以下联系方式与我们联系。\n此外，如果您是欧洲居民，我们注意到我们正在处理您的信息，以便履行我们可能与您签订的合同（例如，如果您通过本网站下单），或者以其他方式追求我们在上述列出的合法商业利益。此外，请注意，您的信息将被传输到欧洲以外的地区，包括加拿大和美国。\n数据保留 # 当您通过本网站下单时，我们将保留您的订单信息以备记录，除非您要求我们删除此信息。\n变更 # 我们可能会不时更新此隐私政策，以反映例如我们实践的变化或其他运营、法律或监管原因。\n联系我们 # 如需了解更多关于我们隐私实践的信息，如果您有任何问题，或如果您想提出投诉，请通过developer@example.com与我们联系。\n","externalUrl":null,"permalink":"/privacy-policy/","section":"网站主页","summary":"\u003ch1 class=\"relative group\"\u003e隐私政策\n    \u003cdiv id=\"隐私政策\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#%e9%9a%90%e7%a7%81%e6%94%bf%e7%ad%96\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h1\u003e\n\u003cp\u003e最后更新时间：2025年11月7日\u003c/p\u003e","title":"隐私政策","type":"page"},{"content":" 作者页面 # 这是网站的作者页面区域。\n","externalUrl":null,"permalink":"/authors/","section":"作者","summary":"\u003ch1 class=\"relative group\"\u003e作者页面\n    \u003cdiv id=\"作者页面\" class=\"anchor\"\u003e\u003c/div\u003e\n    \n    \u003cspan\n        class=\"absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none\"\u003e\n        \u003ca class=\"text-primary-300 dark:text-neutral-700 !no-underline\" href=\"#%e4%bd%9c%e8%80%85%e9%a1%b5%e9%9d%a2\" aria-label=\"锚点\"\u003e#\u003c/a\u003e\n    \u003c/span\u003e\n    \n\u003c/h1\u003e\n\u003cp\u003e这是网站的作者页面区域。\u003c/p\u003e","title":"作者","type":"authors"}]