结构指针

结构指针的概念

结构指针就是指向结构变量的指针

例:

struct student s1={10,"wang",8,7,9},*p;

p=&s1;

第一条语句定义了struct student 类型的变量s1并初始化,另外还定义了一个结构指针变量

第二条语句使结构指针指向结构变量s1,结构指针的值实际上是结构变量的首地址

用*p访问结构成员
(*p).num=10;

(*p)的括号是不可少的,因为成员运算符“.”的优先级高于“*”的优先级。

用指向运算符->访问指针指向的结构成员
p->num=10;

在使用结构指针访问结构成员时,通常使用指向运算符->

结构指针作为函数参数

int score (struct student *p,int n,int num,int course,int score);

其调用语句

pos=score(students,n,num,course,score);

对应的实参是结构数组名students

PAT (Basic Level) Practice (中文)1002 写出这个数

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:

每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100

输出格式:

在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:

1234567890987654321123456789

输出样例:

程序示例:
#include<stdio.h>
#include<string.h>
int main()
{
	int a[20];
	int sum=0,i=0;
	char s1[101];
	/*计算各数位之和*/
	gets(s1);
	while(s1[i]!='\0')
	{
		sum+=s1[i]-'0';
		i++;
	}	
	i=0;
	while(sum)
	{
		a[i++]=sum%10;
		sum=sum/10;
	}
	/*数字转化为拼音*/
	for(i=i-1;i>0;i--)
	{
		switch(a[i])
		{
			case 0:printf("ling ");break;
			case 1:printf("yi ");break;
			case 2:printf("er ");break;
			case 3:printf("san ");break;
			case 4:printf("si ");break;
			case 5:printf("wu ");break;
			case 6:printf("liu ");break;
			case 7:printf("qi ");break;
			case 8:printf("ba ");break;
			case 9:printf("jiu ");break;
		}
	}
	/*一行中最后一个拼音数字后没有空格*/
	switch(a[0])
	{
		case 0:printf("ling");break;
		case 1:printf("yi");break;
		case 2:printf("er");break;
		case 3:printf("san");break;
		case 4:printf("si");break;
		case 5:printf("wu");break;
		case 6:printf("liu");break;
		case 7:printf("qi");break;
		case 8:printf("ba");break;
		case 9:printf("jiu");break;
	}
	return 0;
}

做这个起初的想法是定义一个整型的n存储输入的数字,后来发现输入数位较大,改用字符串存储,通过s1[i]-‘0’将字符型化为整型。 对于如何使一行中最后一个拼音数字后没有空格,想了好久没有想到什么好主意,只能把最后一项单独拿出来进行考虑。

本站已加入CDN加速

一直觉得网站打开的很慢,早就想申请一个CDN加速,无奈国内的CDN服务商都需要备案。作为一个新建站的小站长,自然没有备案号了。这件事也就不了了之。

不过最后还是忍不住了,就申请了一个CDN加速。我选择的是cloudflare,一家老牌CDN服务商。虽然是国外的,加速效果不如国内的理想,不过对我而言也是一个不错的选择了。

下面让我说说我是怎么申请的:

1.cloudflare简介

CloudFlare成立于2009年,是国外著名的免费CDN网站加速服务公司,CloudFlare 还提供实时安全保护服务和网络优化等,采用的是免费+增值模式,可以免费使用,也有收费服务。

CloudFlare的CDN节点主要分布于荷兰、美国、香港、法国、日本等国家和地区,使用CloudFlare在亚太地区的CDN节点可以大大加速你在美国或者欧洲的主机访问速度。

2.注册cloudflare

官方网站:dash.cloudflare.com

1.填写你的邮箱和密码,创建你的账号。

2.首次登录后就会进入引导界面,填写你要加速的站点,点击下方按钮即可

3.添加完网站后,cloudflare会提示要自动搜索你域名的解析记录,点击next确认,之后就会要求你选择服务方案,我们选择免费的即可,选好了确定进入下一步。

4.然后就进入到配置界面,你也可以手动添加或修改,支持A记录和CNAME记录,如像下边这样添加,可以添加上你所有的一级或二级域名,点击Add Record添加,点击Continue下一步。

5.根据自己的域名供应商的修改DNS教程修改自己的域名的DNS,我的域名是在万网购买的,去阿里云修改DNS即可。

6.修改好后就等待DNS修改生效就行了,生效时间各不相同,我的站点用了大概2个小时。

 

3.后话

以上就是我申请CDN加速的过程,真的很简单。其他的新站长朋友们如果还没有使用过CDN加速,可以来试一试。

常用的字符串处理函数

  • 1.字符串的输入和输出

  • scanf(格式控制字符串,输入参数表);

例:scanf(“%s”,s);(该函数遇回车和空格输入结束)

  • printf(格式控制字符串,输出参数表);

例:printf(“%s”,s);

  • gets(s)(输入的字符允许带空格)

 

  • puts(s)(输出时遇’\0’自动将其转化为’\n’)

2.字符串的复制,连接和比较及字符串的长度

  • 字符串复制函数char*strcpy(char*s1,char*s2)

参数s1必须是字符型数组基地址,参数s2可以是字符数组名或字符串常量

char s1[80],s2[80],a[80]=”hello”;

strcpy(str1,a); //把a中的字符串复制给str1

strcpy(str2,”world”);//把字符串常量“world”复制给str2

 

  • 字符串连接函数strcat(s1,s2)

char str1[80]=”hello”,str2[80],a[80]=”world”;

strcat(str1,a);//连接str1和a,结果为hello world

strcpy(str2,str1);//将str1中的字符串赋给str2

strcat(str2,”!”);//结果为hello world!

 

  • 字符串比较函数strcmp(s1,s2)

strcmp(“sea”,”sea”)的值为0,”sea’与”sea”相等

strcmp(“compute”,”compare”)的值(‘u’-‘a’)是个正数

strcmp(“happy”,”z”)的值(‘h’-‘z’)是个负数

strcmp(“sea”,”seat”)的值(‘\0-‘t’)是个负数

 

  • 字符串长度strlen(s1)例

strlen(“happy”)的值是5

p.s.

在应用标准库中的任何函数之前,必须提供函数原型。#include<string.h>

 

—–部分内容参考《c语言程序设计》(第三版)

 

 

 

 

美区Apple ID注册方法

1.为什么要注册美区id

1.美区是app数量最多的区,很多中国区没有或者下架了的app美区都有!
比如小火箭,这也是我注册美区id的主要原因。

2.有些app仅限美区id限免!(推荐一个telegram频道:t.me/limitfree,经常发布限免软件。)

2.如何注册美区id

前两年的时候,注册一个美区apple id非常容易,不用付款选项,分分钟就注册好了。不过现在苹果审核越来越严格,以前的方法已经行不通了。建议各位尽早注册一个。

以下为具体步骤:

到这里,注册美区apple id算是搞定了!后面就剩去iPhone\IPad激活账号下载app了!

3.后续

美国区有不少好应用是需要购买的,这时候只需要进入app store修改付款信息即可。一定不要选择credit card,一定不要选择credit card,一定不要选择credit card!credit card使用非常麻烦,而且只有美国信用卡可以用,国内的VISA/Mastercard都不行的。

推荐直接购买itunes礼品卡,可以选10~100刀,官网地址:www.apple.com/shop/gift-cards

或者你也可以使用美国区的PayPal,我们下次再说。

一个EDU邮箱能做什么?

前一段时间,我去学校的网络管理中心申请了一个edu邮箱,并且薅了不少羊毛。今天就来分享一下我的战果。

1.GitHub学生包

 

这简直就是一份大礼,具体有:

可用工具

  • ATOM:

来自21世纪的可定制文本编辑器
详细优惠信息: 由GitHub开源,人人可以免费使用。

  • 一键安装云端应用程序

详细优惠信息: 一年Business 3 方案(通常49美元/月)

  • crowdflower

众包及数据富集平台
详细优惠信息: 可以使用Crowdflower平台(通常2500美元/月)

  • DigitalOcean

简单的云主机,为开发者而设
详细优惠信息: $50平台账户代金券

  • DNSimple

简单的DNS管理工具,集简单的一键式服务与健壮的API于一身
详细优惠信息:两年的Bronze hosted DNS方案(通常3美元/月)

  • GitHub

强大的协作开发,代码审查以及代码管理工具
详细优惠信息: 在校期间,可免费使用具有五个私人仓库的微型账户(通常7美元/月)

  • HACKHANDS

7*24小时在线编程帮助
详细优惠信息:$25平台账户代金券

  • Orchestrate

完整的数据库产品组合,包括查找,时间序列事件,地理位置和图查询
详细信息:在校期间免费使用开发者账户 (通常49美元/月)

  • Screenhero

团队桌面共享协作工具
详细优惠信息: 在校期间可以使用个人账户(通常9.99美元/月)

  • SendGrid

触发类邮件工具
详细优惠信息: 在校期间Student plan每月免费email数为15k (通常为每天200免费email)

  • Stripe

移动及在线支付,为开发者而设
详细优惠信息: 在处理收入时免去首个1000美元的交易税

  • Travis CI

为开源和私人项目提供持续集成服务
详细优惠信息: 在校期间可免费使用Private builds (通常69美元/月)

  • Unreal Engine

一套完整的游戏开发工具,可以用于开发PC,主机,移动平台,网页及虚拟现实游戏。
详细优惠信息: 在校期间可以免费使用虚幻引擎 (通常19美元/月)

  • namecheap

使用Namecheap提供的.ME域名
详细信息: .me域名一年免费使用(通常8.99美元/月)
使用Namecheap提供的PositiveSSL

  • 详细优惠信息:

为期一年的SSL证书(通常9美元/月)

申请链接:

https://education.github.com/

p.s.没有edu邮箱也可以用学生证试试,一般一天就过了。DO家的50刀挺有用的,还有无限的GitHub私人仓库,赚爆。

2.申请扩容Onedrive5TB

Office 365教育版是微软专门针对学生和教师推出版本,包括在线Word, Excel, PowerPoint, OneNote, Outlook, Access及Publisher服务,1TB的OneDrive存储空间,可以注册5台PC/Mac电脑进行使用。

不过大部分学校并没有购买,因此只有教育A1版的。这个里面的office365全是在线版的,不过有5TB的OneDrive挺不错的,值得一试。

官方网站:

https://portal.office.com/signup?sku=Education

3.JetBrains Toolbox 专业开发工具学生免费授权计划

支持的验证方法有:

  • 邮件认证: 如果你的学校对学生有提供类似@.edu或者是@.edu.cn 的邮箱,那么你可以通过这种方式去认证。
  • ISIC/ITIC 认证: 这个没试过,不知道要怎么弄 —__—
  • 文档认证:我是申请这个的,这个需要你的学生证 ===>
    这里填你的学校就行了!

JetBrains家的ide真乃神器,尤其是IntelliJ IDEA。墙裂推荐!

p.s.一次申请有效期只有一年,到期重新申请即可。他们家的申请还是挺容易通过的,可以一直续到毕业。计算机专业的一定不容错过。>v<

总结:

其实还有很多优惠可以领取,不过今日时间有限,就先到这里吧。我想这篇文章应该会持续更新,找到更多优惠,敬请期待吧。(假装明天不用上课)