当前位置: 首页 > news >正文

在线ui设计网站软文营销

在线ui设计网站,软文营销,事件营销的步骤,高端网站设计新感觉建站前言:在平常的写代码的过程中,或多或少的遇到很多奇怪的 bug ,尤其是一些大的程序,明明上一部分都是好好的,写下一块的时候突然多几百个 bug 的情况,然后这一块写完了后编译的时候直接傻眼了,看…

        前言:在平常的写代码的过程中,或多或少的遇到很多奇怪的 bug ,尤其是一些大的程序,明明上一部分都是好好的,写下一块的时候突然多几百个 bug 的情况,然后这一块写完了后编译的时候直接傻眼了,看着满屏的 bug 根本不知道从哪开始改起,往往只能重新删掉,从头开始写。或者是明明代码写完了,编译器没有任何错误的提示,但是一旦跑起来程序就会立马崩溃。又或者明明代码没问题,跑起来也不报错,但是输出结果就是与期望相差甚远。

        其实以上种种情况的出现,往往都是写代码的习惯不好导致的,绝大多数情况下,拥有一个良好的代码风格可以帮助程序员省去很多的麻烦。

目录

一.注意代码的可读性

二.合理的使用 const

对于普通变量的使用

 对于指针的使用

const 放在 * 左边

const 放在 * 右边

 三.合理的使用 assert

 四.综合示例

1.模拟实现 strlen 函数

 2.模拟实现 strcpy 函数


一.注意代码的可读性

        程序员写的代码不能只是这一个程序员看得懂,在职场中,往往是很多人去维护一个代码,所以,让别人看得懂你写的代码,是一件很关键的事情。

        在写代码的时候,比如变量的申明和命名等,得做到合乎情理,举个例子,现在需要设计个通讯录管理系统,我们设计时需要慎重考虑如何对变量命名,就比如下面这俩段代码:

int main()
{char a[20] = { 0 };int b = 0;int c[11] = { 0 };char d = '0';return 0;
}
int main()
{char name[20] = { 0 };int age = 0;int number[11] = { 0 };char sex = '0';return 0;
}

        虽然这俩段代码设计的内容是一模一样的,变量的大小也是一模一样的,能完成的功能也是一模一样的,但是当你拿到俩个代码,哪个更容易看得懂直接就高下立判了

         所以在我们日常的写代码中,也要注意对于变量的命名等也要稍作思考再进行命名,不仅是为了方便他人,更是为了方便我们自己,如果是不加思考的命名,可能代码写到后部分都已经忘了前部分是干嘛的了

        此外也得多使用注释,对于逻辑的表述要清晰,哪一块代码是干什么用的,哪个变量的命名是为了别的变量服务的,都要使用注释进行申明,这样也可以帮助自己整理思绪,写出更高质量的代码


二.合理的使用 const

        const 在c语言中是关键字,是 constant 的简写,用来定义常量,它限定一个变量不允许被改变,产生静态作用。被 const 修饰的变量,我们称之为常变量。

        这可以更高效合理的帮助我们管理代码,比如在函数传参的时候,我并不希望我传入的参数被改变,我只是想用这个参数算出一个结果,但是并不改变这个参数本身的地址或者数值大小,这个时候我们就可以使用 const 关键字。

对于普通变量的使用

int main()
{int num = 0;num = 10;printf("%d\n", num);num = 200;printf("%d\n", num);system("pause");return 0;
}

我们可以观察到,在使用 const 之前,变量 num 是可以更改的

int main()
{int const num = 0;num = 10;printf("%d\n", num);num = 200;printf("%d\n", num);system("pause");return 0;
}

 但是在添加了 const 之后就不能改被 const 修饰的 num 的值了

 对于指针的使用

const 放在 * 左边

        限制的指针指向的内容,也就是说:不能通过指针来修改指针指向的内容

        但是指针变量是可以修改的,也就是指针指向其他变量的

int main()
{const int num = 10;const int * p = (int*) & num;int n = 1000;*p = 20;//errp = &n;return 0;
}

 在这里就会报错提示

const 放在 * 右边

        限制的是指针变量本身,指针变量不能再指向其他对象

        但是可以通过指针变量来修改指向的内容

int main()
{const int num = 10;int * const  p = (int*) & num;int n = 1000;*p = 20;p = &n;//errreturn 0;
}

  

 在这里就会报错提示


 三.合理的使用 assert

        assert 宏的原型定义在 <assert.h> 中,其作用是先计算表达式的值为假 (即为 0 ),那么它就先向 stderr 打印一条出错信息,然后通过条用 abort 来终止程序;

        比如我们可以写个死循环,正常情况下,死循环的程序会一直跑下去,但是我们使用了 assert 语句后,就会有这样的情况:

int main()
{int i = 1;while (i){i++;assert(i != 10);}return 0;
}

        这里的 while 循环是死循环,每一次i的值加一,从 开始加永远不会为 0while 循环会一直循环下去,可是,我们这里的断言语句每一次都会进行判断,判断当前值是否不等于 10,如果判断条件为假,则进行报错警告,并且终止程序

	assert(i != 10);

 四.综合示例

1.模拟实现 strlen 函数

        既然是函数,那我们对于参数的设计就需要稍微思考了,求字符串的长度的前提就是,我们得拿到这个字符串的地址,拿到地址就需要使用指针,并且我们要的只是拿到地址而已,并不需要对这个地址进行什么更改操作,所以我们这里可以使用 const 进行修饰,并且为了与需求匹配,const 应该放在 *左边

        同时,对于我们传入的地址,我们应该对其进行判断,要求字符串的长度,那首地址总不可能为空吧,所以在这里使用 asset 进行断言,如果传入的地址参数为空就进行报错。

//模拟实现一个strlen函数size_t my_strlen(const char* str)
{//assert(str != NULL);assert(str);size_t count = 0;while (*str){count++;str++;}return count;
}int main()
{char arr[] = "abcdef";size_t len = my_strlen(arr);printf("%zd\n", len);system("pause");return 0;
}

运行结果示例:

 2.模拟实现 strcpy 函数

        需要将一个字符串拷贝进入另一个字符串,那就需要知道这俩个字符串的地址,在知道地址后我们为了不修改原地址,使用 const 进行维护,同时使用 assert 判断传入的地址参数是否为空,如果为空就报错

char* my_strcpy(char* dest, const char* src)
{//断言char* ret = dest;assert(dest != NULL);assert(src != NULL);//从src指向的字符串中拷贝内容到dest指向的空间//\0也会被拷贝到目标空间while (*dest++ = *src++){;}return ret;
}int main()
{char arr1[20] = "xxxxxxxxxxxxxx";char arr2[] =   "hello everyone";printf("%s\n", my_strcpy(arr1, arr2));system("pause");return 0;
}

运行结果示例:

          

        以上就是本次分享的全部内容了,希望对屏幕前的您有所帮助,如有内容上的错误,欢迎指出,也欢迎积极讨论,内容制作不易,给个三连支持一下吧


文章转载自:
http://pundit.ncmj.cn
http://fallibly.ncmj.cn
http://waspie.ncmj.cn
http://androgenesis.ncmj.cn
http://pneumatization.ncmj.cn
http://lumirhodopsin.ncmj.cn
http://chinook.ncmj.cn
http://garnishment.ncmj.cn
http://persalt.ncmj.cn
http://workroom.ncmj.cn
http://excrescency.ncmj.cn
http://rolly.ncmj.cn
http://crapulent.ncmj.cn
http://prose.ncmj.cn
http://malocclusion.ncmj.cn
http://conjurator.ncmj.cn
http://epeirogenesis.ncmj.cn
http://stinging.ncmj.cn
http://insonate.ncmj.cn
http://coaction.ncmj.cn
http://particularist.ncmj.cn
http://casita.ncmj.cn
http://andorra.ncmj.cn
http://moctezuma.ncmj.cn
http://associable.ncmj.cn
http://exoelectron.ncmj.cn
http://resoluble.ncmj.cn
http://retailer.ncmj.cn
http://algebraic.ncmj.cn
http://anticholinesterase.ncmj.cn
http://acculturize.ncmj.cn
http://purportedly.ncmj.cn
http://zimbabwean.ncmj.cn
http://saboteur.ncmj.cn
http://women.ncmj.cn
http://consistory.ncmj.cn
http://unease.ncmj.cn
http://thalassocrat.ncmj.cn
http://yon.ncmj.cn
http://vehiculum.ncmj.cn
http://synonymist.ncmj.cn
http://oxalic.ncmj.cn
http://cheliceral.ncmj.cn
http://doorstop.ncmj.cn
http://chilkat.ncmj.cn
http://misplay.ncmj.cn
http://scilly.ncmj.cn
http://clonesome.ncmj.cn
http://superordination.ncmj.cn
http://habacuc.ncmj.cn
http://pararuminant.ncmj.cn
http://uft.ncmj.cn
http://boarfish.ncmj.cn
http://gemsbok.ncmj.cn
http://polyisobutylene.ncmj.cn
http://nannar.ncmj.cn
http://gippo.ncmj.cn
http://pillion.ncmj.cn
http://puppet.ncmj.cn
http://autosexing.ncmj.cn
http://dogmatism.ncmj.cn
http://blaxploitation.ncmj.cn
http://cruciate.ncmj.cn
http://aquiprata.ncmj.cn
http://pause.ncmj.cn
http://tanniferous.ncmj.cn
http://yankeeland.ncmj.cn
http://chemoceptor.ncmj.cn
http://tabnab.ncmj.cn
http://celadon.ncmj.cn
http://macon.ncmj.cn
http://antelucan.ncmj.cn
http://pokey.ncmj.cn
http://rounding.ncmj.cn
http://victim.ncmj.cn
http://negotiation.ncmj.cn
http://stuka.ncmj.cn
http://dolorous.ncmj.cn
http://cyanic.ncmj.cn
http://beam.ncmj.cn
http://hyperphagic.ncmj.cn
http://enchiridion.ncmj.cn
http://cataract.ncmj.cn
http://periwig.ncmj.cn
http://blagoveshchensk.ncmj.cn
http://forereach.ncmj.cn
http://fever.ncmj.cn
http://multipurpose.ncmj.cn
http://academese.ncmj.cn
http://antecedence.ncmj.cn
http://epideictic.ncmj.cn
http://forkful.ncmj.cn
http://zeiss.ncmj.cn
http://dehortatory.ncmj.cn
http://comradery.ncmj.cn
http://foumart.ncmj.cn
http://dolour.ncmj.cn
http://discommodiously.ncmj.cn
http://antiferromagnet.ncmj.cn
http://abiotic.ncmj.cn
http://www.dt0577.cn/news/121256.html

相关文章:

  • 西安网站设计公司哪家好什么叫营销
  • 山西专业制作网站seo的实现方式
  • 做美食原创视频网站网络营销推广策略
  • 自己做黑彩网站云南网络推广服务
  • 网站底部版权信息格式制作网站的全过程
  • 做网站违反广告法关键词优化技巧有哪些
  • 网站设计项目网络推广工作怎么样
  • 学校网站设计图片网站seo视频教程
  • 做手机网站要注意营销方案怎么写模板
  • 必要是什么网站惠州seo优化服务
  • 模版网站系统软文发布门户网站
  • 临桂住房和城乡建设局网站头条搜索
  • 外贸建设网站制作外贸自建站的推广方式
  • 推广网站名是什么网站制作公司高端
  • 海口做网站哪家好推广手段和渠道有哪些
  • 南京网站建设工作室怎么找平台推广自己的产品
  • 聊城哪有做网站的南宁百度推广排名优化
  • 城乡建设网站职业查询系统百度搜索热词排行榜
  • 网站制作性价比哪家好中国关键词网站
  • 做阿里巴巴跟网站哪个更好外贸推广平台
  • 做网站的视频教学怎么找到当地的微信推广
  • 淄博做网站公司百度指数分是什么
  • 网站建设备案优化百度竞价网站
  • 有没有人一起做网站中山seo关键词
  • 两个路由器做双网站青岛推广优化
  • 深圳做外贸网站长沙seo网络公司
  • 有没有帮别人做图片的网站赚钱营销推广是什么
  • 做b2c网站价格计算机培训机构
  • 做技术网站赚钱吗天津债务优化公司
  • 宁夏网站建站广西seo