hackerchai / blog Goto Github PK
View Code? Open in Web Editor NEWMy Personal Blog Repo
Home Page: https://blog.hackerchai.com
License: MIT License
My Personal Blog Repo
Home Page: https://blog.hackerchai.com
License: MIT License
https://blog.hackerchai.com/post/c-language-pointer/
前言 最近才在备战OI,我之前对C指针的理解是:指针本身是一块内存,它保存了一块内存的地址,但是经常对一些概念有混淆,于是今天就细致的研究了一下指针的详细用法和原理。
指针 先看这样一段代码:
#include <stdio.h>int main() { int i = 10; int * p; printf("p的地址:%d\n",&p); printf("未初始化时p的内容:%d\n",p); p = &i; printf("--初始化p完毕--\n"); printf("p里面保存的地址:%d\n",p); printf("p指向的内存的内容:%d\n",*p); printf("p的大小:%d\n",sizeof(p)); printf("p指向的内存大小:%d\n",sizeof(p)); return 0; } 输出结果为:
p的地址:1439276008 未初始化时p的内容:0 --初始化p完毕-- p里面保存的地址:1439276020 p指向的内存的内容:10 p的大小:8 p指向的内存大小:4 这就是指针的基本使用,可用下图来说明: 指针与数组 首先看这两个声明语句
char (a) [100]; char a [100]; 第一个是声明了一个指向有100个char元素的数组的指针(注意和指向数组首地址的char型指针分开);第二个是声明了一个有100个char元素的数组,数组里面装的是char *。 为了理解,我们来看这样一段代码:
#include <stdio.h> int main() { int arr[10][100]; printf("sizeof(arr[0]) = %lu\n", sizeof(arr[0])); printf("sizeof(arr[0][0]) = %lu\n", sizeof(arr[0][0])); int *p; int (*q)[100]; p = &arr[0][0]; q = &arr[0]; printf("p = %d\n",p); printf("q = %d\n",q); printf("sizeof((*p)) = %lu\n", sizeof((*p))); printf("sizeof((*q)) = %lu\n", sizeof((*q))); p++; q++; printf("after add 1, p = %d\n", p); printf("after add 1, q = %d\n", q); return 0; } 这端代码运行后结果如下:
https://blog.hackerchai.com/arduino-bluetooth-car/
经过三天的努力,终于把Arduino蓝牙小车完工了。整个制作过程挺艰难,又要躲过学校老师的围追堵截,又要高效的完成各个工作。这是我加入东北育才学校机器人实验室之后的第一个作品。在龚鹏老师的帮助下,我完成了整个制作。整个小车的原理很简单,利用Arduino的串口TXD,RXD和蓝牙模块通信,然后通过motor shield来驱动直流减速电机。看起来挺容易,但对于我在这种第一次使用蓝牙模块的人,还是蛮
https://blog.hackerchai.com/arduino-gps-clock/
IMG_20141114_130132
https://blog.hackerchai.com/soccer-dog-sms-reminder-python/
前言博主是一个狂热的足球粉&巴萨死忠,所以每天半夜干的最多的就是看比赛。可是经常学业一忙起来,有时候会差点错过比赛。于是在假期抽出一天时间用Python写了一个可以自动提醒即将到来球赛的Python脚本 soccer_dog_reminder 截图
https://blog.hackerchai.com/meltdown-exploit-on-linux-opensource/
概述2018年1月4日,Jann Horn等安全研究者披露了”Meltdown”(CVE-2017-5754)和”Spectre”(CVE-2017-5753 & CVE-2017-5715)两组CPU特性漏洞。 据悉,漏洞会造成CPU运作机制上的信息泄露,低权级的攻击者可以通过漏洞来远程泄露(浏览器形式)用户信息或本地泄露更高权级的内存信息。实际攻击场景中,攻击者在一定条件下可以做到,泄
https://blog.hackerchai.com/friend-list/
我的朋友们清泉小屋 Aaron’s Blog 属于CYY自己的世界 比尔盖子 博客 Typeblog 无垠 欢迎交换链接评论区评论即可,或者发邮件至 [email protected]
https://blog.hackerchai.com/neyc-computer-science-speech-eason-chai/
第一次上台做计算机演讲主要给大家讲解了一些计算机基本原理和硬件结构,并为大家带来一个用C#编写的Windows窗体程序
https://blog.hackerchai.com/python-weixin-jumpjump-principle-analysis/
微信跳一跳2017 年 12 月 28 日下午,微信发布了 6.6.1 版本,加入了「小游戏」功能,并提供了官方 DEMO「跳一跳」。这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。分数越高,那么在好友排行榜更加靠前。辅助脚本wechat_jump_game是一个python2编写的辅助外挂。通过Python的图片操作库分析手机实时的截图,通过图
https://blog.hackerchai.com/decimal-to-binary/
一、二进制数转换成十进制数 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为”按权相加”法。 例1105 把二进制数110.11转换成十进制数。 下载
https://blog.hackerchai.com/encrypted-sni-anti-censorship/
ESNI随着TLS1.3的发布,让该协议成为有史以来最安全、也是最复杂的TLS协议。在该协议之中,有很多的对于以往协议安全漏洞的修复,包括废弃RSA启用新的秘钥交换机制PSK等等。而Encrypted SNI作为一个TLS1.3的扩展协议用来防止传统的HTTPS流量受到ISP或者陌生网络环境的窥探以及一些网络审查。在过去,由于HTTPS协议之中Server Name Indication - SN
https://blog.hackerchai.com/meltdown-and-specture-repair-on-windows-and-linux/
概述2018年1月4日,Jann Horn等安全研究者披露了”Meltdown”(CVE-2017-5754)和”Spectre”(CVE-2017-5753 & CVE-2017-5715)两组CPU特性漏洞。 据悉,漏洞会造成CPU运作机制上的信息泄露,低权级的攻击者可以通过漏洞来远程泄露(浏览器形式)用户信息或本地泄露更高权级的内存信息。 实际攻击场景中,攻击者在一定条件下可以做到
https://blog.hackerchai.com/enable-oneplus7-f2fs/
F2FS为何物F2FSF2FS(英语:Flash-Friendly File System)是一种闪存文件系统,主要由金载极(韩语:김재극)在三星集团研发,适合Linux内核使用[3]。此文件系统起初是为了NAND闪存的存储设备设计(诸如固态硬盘、eMMC和SD卡),这些设备广泛存在于自移动设备至服务器领域。三星应用了日志结构文件系统的概念,使它更适合用于存储设备。特性多头日志(Multi-hea
https://blog.hackerchai.com/ds1302-ds18b20-stc15-led-clock/
回顾面对即将到来的高三,不得不停止了在学校机器人的学习生涯,在这学期我和我的组员们共同完成了这个小钟从电路设计,焊接,再到编程调试的过程。我们将之前学习到的单片机和电路知识运用起来,虽然经历了不计其数的Bug和坎坷,可是就是在这样痛苦的过程中我们不知不觉中成长了许多,收获了更多的实战经验。 提出一直以来,我多数在开发软件,偶尔碰碰Arduino实现点小功能,幸运的是我的高中有机器人实验室,于是我们
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.