关于 C 语言指针个人理解的小笔记 作者: Chuwen 时间: 2020-12-15 分类: C/C++ 评论 # 序言 就在去年(2019年10月),为了学习 Android 开发,我去学了 Java(虽然学的不怎么样),这种强类型语言应该是我认认真真学过的**第二个强类型语言**,第一个是 C 语言,大一的时候学习过基本语法知识等,但在**指针**的学习过程中,我学的云里雾里,没想清楚为什么需要怎么做。 到现在,能写出一些些小小功能的 Android 软件,常规的布局、基本控件的交互使用、一些框架的使用(比如 MPAndroidChart、Gson)。 我在其中也学习到许多新的知识以及对以前所学习的**指针**有了一定的了解,当然还有其它的收获,我可能会在 **2020 年度总结** 专门写。 # C 语言指针 > 因为最近我再学习一些算法,使用到 C 语言指针,但是大致懂什么意思,就是有时候会忘记,所以再次写一下,以便巩固 ```c #include "stdio.h" int main(){ int var1;//定义产常规变量 int *point;//定义指针变量 int *point2;//定义指针变量 var1 = 20170101;//变量赋值 printf("打印变量的值 var = %d \n", var1); //在变量名前面加一个 & 表示该指针的地址 printf("打印变量存储地址 var = %p \n\n", &var1); /***********************************************************/ //指针赋值,将 var1 的指针地址,赋值给 point 指针变量 point = &var1; printf("point 指针地址 %p \n", point); //指针变量取值 printf("point 指针变量的值为 %d \n\n", *point); //指针变量 赋值给 指针变量 point2 = point; printf("point2 指针地址 %p \n", point2); //修改指针值,因为 point、point2 指针地址都指向了变量 var1 的指针地址 //那么当 point、ponit2 指针变量对其值进行修改,那么所有指向该指针地址的“指针变量” //它的值都会变成我们修改的 100 *point2 = 100; printf("var1 的值 %d\n", var1); printf("point 的值 %d\n", *point); printf("point2 的值 %d\n\n", *point2); var1 = 200; printf("var1 的值 %d\n", var1); printf("point 的值 %d\n", *point); printf("point2 的值 %d\n\n", *point2); return 0; } ``` # 总结 - 获取 常规变量 指针地址,在变量名前加 `&` 获取 - 获取 指针变量 的值,在指针变量名前加 `*` 获取 - 当指针地址的值改变了,那么所有指向该**指针地址**的值,都将改变
Linux 使用 rpm 安装软件出现 warning: iksemel-1.4-6.sdl7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 41a40948: NOKEY 错误解决办法 作者: Chuwen 时间: 2020-12-15 分类: Linux 评论 # 出现错误 sh-4.2# rpm -ivh iksemel-1.4-6.sdl7.x86_64.rpm warning: iksemel-1.4-6.sdl7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 41a40948: NOKEY error: Failed dependencies: libgnutls.so.28()(64bit) is needed by iksemel-1.4-6.sdl7.x86_64 libgnutls.so.28(GNUTLS_1_4)(64bit) is needed by iksemel-1.4-6.sdl7.x86_64 # 解决办法 > 即原本为 rpm -ivh *.rpm 现在改成 rpm -ivh *.rpm --force --nodeps就可以了。nodeps的意思是忽视依赖关系。因为各个软件之间会有多多少少的联系。有了这两个设置选项就忽略了这些依赖关系,强制安装或者卸载 在安装命令末尾加上 `--force --nodeps` 参数即可 也就是 ```shell rpm -ivh iksemel-1.4-6.sdl7.x86_64.rpm --force --nodeps ```` 这样就安装成功了 ```shell sh-4.2# rpm -ivh iksemel-1.4-6.sdl7.x86_64.rpm --force --nodeps warning: iksemel-1.4-6.sdl7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 41a40948: NOKEY Preparing... ################################# [100%] Updating / installing... 1:iksemel-1.4-6.sdl7 ################################# [100%] ```
(2020年4月)中国主要骨干网络国际出口带宽数 | 第45次《中国互联网络发展状况统计报告》 作者: Chuwen 时间: 2020-12-14 分类: 谈天说地 评论 # 概述 本文主要摘录中国骨干网带宽数量等相关数据,如果需要详细的数据请往下翻“数据来源”。 骨干网 === > 定义: > --- > > Internet backbone:Internet 骨干网 > 几台计算机连接起来,互相可以看到其他人的文件,这叫局域网,整个城市的计算机都连接起来,就是城域网,把城市之间连接起来的网就叫骨干网。这些骨干网是国家批准的可以直接和国外连接的互联网。其他有接入功能的ISP(互联网服务提供商)想连到国外都得通过这些骨干网。 # 2020年统计 中国主要骨干网络国际出口带宽数 > 博主注:根据往年规律,中国每年主要骨干网络国际出口带宽统计数 一般在**上半年**公布统计 > 本次数据时间:2020年04月28日 > 参考数据:[第45次《中国互联网络发展状况统计报告》][1] > 数据来源:[中国互联网络信息中心][2] | 主要骨干网络运行商 | 国际出口带宽数量(Mbps) | | -------------------------- | ------------------------ | | 中国电信 中国联通 中国移动 | 8,651,625 | | 中国科技网 | 114,688 | | 中国教育和科研计算机网 | 61,440 | | 合计 | 8,827,751 | ![2020年 中国主要骨干网络国际出口带宽数][3] # 2018.12 - 2019.12 互联网基础资源对比 2018年12月 2019年12月 中国国际出口带宽对比 | 类别 | 2018年12月 | 2019年12月 | 年增长量 | 年增长率 | | :--------------------- | ----------: | ----------: | :-------: | :------: | | IPv4(个) | 385,843,968 | 387,508,224 | 1,664,256 | 0.4% | | IPv6(块/32) | 43,985 | 50,877 | 6,892 | 15.7% | | 域名(个) | 37,927,527 | 50,942,295 | -- | -- | | 其中.CN域名(个) | 21,243,478 | 22,426,900 | 1,183,422 | 5.6% | | 国际出口带宽数(Mbps) | 7,371,738 | 8,827,751 | 1,456,013 | 19.8% | ![2018.12 - 2019.12 互联网基础资源对比.jpg][4] # 往年 中国主要骨干网络国际出口带宽数 - [(2019年2月)中国主要骨干网络国际出口带宽数 | 第43次《中国互联网络发展状况统计报告》][5] - [(2018年8月)中国主要骨干网络国际出口带宽数 | 第42次《中国互联网络发展状况统计报告》][6] [1]: http://www.cnnic.cn/hlwfzyj/hlwxzbg/hlwtjbg/202004/t20200428_70974.htm [2]: http://www.cnnic.cn/ [3]: https://cdn.nowtime.cc/2020/12/14/174328654.jpg [4]: https://cdn.nowtime.cc/2020/12/14/3306361240.jpg [5]: https://nowtime.cc/news/757.html [6]: https://nowtime.cc/news/556.html
C/C++ 语言 #include "" 和 #include <> 双引号和尖括号引用头文件 .h 的区别 作者: Chuwen 时间: 2020-12-14 分类: C/C++ 评论 # 前因 因为自己在编写头文件时,使用 `#includ ` 引入头文件时,出现了错误,百思不得其解,然后又想到了 `#include "xxx.h"` 来引入,果真能够成功编译 ![自己编写的头文件,使用 #includ 引入头文件时,出现了错误,编译不通过][1] 然后我就想到了,这两者的使用应该是由区别的,然后网上搜了下,果真如此,然后就就简单记录下 # 简单的区别就是 1. `#include ` 引入的是**系统自带**的头文件,编译器会在系统目录下寻找 2. `#include "xxx.h"` 引入的是**用户编写**的头文件,编译器会在用户目录下寻找,然后再去 C 安装目录下查找,**如果没有找到**,则会在系统目录下寻找 # 总结 无论是系统自带的头文件,还是用户编写的头文件(`xxx.h`),使用双引号 `#include "xxx.h"` 引入头文件,一定是正确的 # 又水了一篇... [1]: https://cdn.nowtime.cc/2020/12/14/722291638.jpg
博客主题暂时换为 Typecho 默认主题 作者: Chuwen 时间: 2020-12-09 分类: 唠嗑闲聊 7 条评论 # 原因 之前使用别人魔改的主题评论有问题,我今天(2020-12-09)才发现,故切回 Typecho 默认主题