C语言
M、k
这个作者很懒,什么都没留下…
展开
-
c语言练习题扩展 - 反常题系列
计划要把c语言修炼到专家水平,在学习过程中发现了很多反常有意思的题目列出来,供大家交流讨论。如果有说错的地方,欢迎批评指正。1.神奇printf - 压栈弹栈规则int main(){ int p = 0; printf("%d%d%d\n",p,++p,p++);//结果 220 return 0;}...原创 2021-02-04 17:16:17 · 238 阅读 · 0 评论 -
代码优化措施都有哪些?
1、消除循环 - 顾名思义 尽量减少循环的存在2、函数代码就地扩展 - 扩展函数花费时间相对复杂功能的函数扩展使用的时间来说微不足道,但是一个很简单只有几行的函数每次调用都需要扩展那么所消耗的资源和时间就比较大了,这时可以用C++中提到的内联函数,当编译器编译内联函数时,内联函数内容会替换函数调用,以保证在调用时避免函数调用的开销。3、公共子表达式消除 - 编译器优化项,示例如下,想来这也是volatile存在的意义吧int main(){ int a = 2,b=3,c=4; int E =原创 2021-01-13 15:55:08 · 2758 阅读 · 0 评论 -
关于字符、短整形做判断的理解
有两个实际的例子是这样的1、 char a = 0xb6; short b = 0xb600; int c = 0xb6000000; if (a == 0xb6) printf("a\n"); if (c == 0xb600) printf("c\n"); if (c == 0xb6000000) printf("d\n"); 最后只打印了d只打印d是因为字符a和短整形b在参与判断的时候都被强制转换成了32位整形参与运算,是因为他们在内存中都是以32位存储的。2、原创 2020-12-12 15:10:10 · 294 阅读 · 0 评论 -
关于不同数据类型打印-1值的理解
一般情况下找到合适的例子能够非常有助于我们理解问题其实本来想在他问题下面回复的,但是帖子太久远~ 已经不支持了回复功能- -!!哈哈。一、这个是关于不同数据类型打印值不同的问题int main(void){unsigned char a = -1;unsigned short b = -1;unsigned int c =-1;printf(“a = %d\n”, a);//255printf(“b = %d\n”, b);//65535printf(“c = %d\n”, c);//-原创 2020-12-12 14:57:34 · 572 阅读 · 0 评论 -
sizeof返回数据类型说明
首先声明sizeof返回的数据是无类型的,在使用中要时刻注意如下列代码中,if中判断的结果就是i大于num!int main(){ int num; int i = -1; printf("sizeof(num)=%d\n",sizeof(num)); if(-1 < sizeof(num)) printf("i小于num!\n"); else printf("i大于num!\n");}代码运行结果如下分析得出:因为sizeof()返回的数据是无类型的,所以sizeo原创 2020-11-16 13:05:52 · 4554 阅读 · 0 评论 -
复习系列 - C语言转义字符
转义字符释义\?在书写连续多个问好时使用,防止他们被解析成三字母词\’用于表示字符常量’\"用于表示一个字符串内部的双引号\\用于表示一个反斜杠,防止它被解释为一个转义序列符\a警告字符,蜂鸣\n换行\r回车\b退格符\t水平制表符\v垂直制表符\dddddd表示1-3个八进制数字。如:\130 X\xdddd表示2个十六进制数字,x必须小写。如:\x30 0...原创 2020-11-14 21:24:08 · 121 阅读 · 0 评论 -
复习系列 - C语言常见关键字(保留字)
C语言关键字类型还蛮多的,最近复习C语言基础知识,梳理一下。比较适合有基础的看,包含auto/extern/register/static/volatile/char/int/short/long/float/double/signed/unsigned/unsigned/void/const/while/do/for/switch/break/continue/case/default/if/else/goto/return/sizeof/struct/typedef/union/enum 具体如下原创 2020-11-14 21:03:14 · 423 阅读 · 0 评论 -
关键字__关于typedef用法声明
关于typedef的用法总结 不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容。用途一:定义一种类型...转载 2018-08-15 08:46:08 · 156 阅读 · 0 评论 -
c语言 指针数组和数组指针之间地址的区别。
只涉及到表面含义,供大家参考!先把图片摆上!! 咱们先一点一点理解,大家看到定义了两个不同的指针类型,一个是char一个是int主要是体现在后面解释的元素地址加一的区别。1、初始化 指针数组 char *p[10]={NULL}; NULL外面加上大括号是因为它是包含了10个char型元素的数组。数组指针 int *(q)[10]=NULL; 因为它是一个数组指针,...原创 2018-09-06 22:32:59 · 4940 阅读 · 1 评论