C语言
小生不是书呆子
这个作者很懒,什么都没留下…
展开
-
指针变量
指针变量广义上说,常说的“指针”隐含两个东西,一个是指针变量,另一个是指针常量。我们一般都是统称它们为指针,在大多数情况下,指针指的都是指针变量。如果指针用得很熟悉的话,没有必要对它们做严格区分。指针变量和普通变量一样,都是用于存放数据的,只是指针变量存放的数据很特殊,是为存地址。一般情况下,如果不考虑指针强制转换的话,我们要求某个类型地址必须放到对应类型的指针变量中,如下所示。int a=10;int *p=&a;// a空间的地址假设为0x07080345以上两句话,对于..原创 2020-12-23 13:50:02 · 4959 阅读 · 0 评论 -
在C语言中,定义局部变量时如果未初始化,则值是随机的。为什么?
分析一个细节:在C语言中,定义局部变量时如果未初始化,则值是随机的。为什么?定义局部变量,其实就是在栈中通过移动栈指针,来给程序提供一个内存空间和这个局部变量名绑定。因为这段内存空间在栈上,而栈内存是反复使用的(脏的,上次用完没清零的) ,所以说使用栈来实现的局部变量定义时如果不初始化,里面的值就是一个垃圾值。由此我们扩展一下,其实不仅仅是局部变量,所有的变量在定义时只是在内存中分配一块空间,并没有对这块空间进行任何的初始化。如果这块内存以前被用过,里面的数据还在,那它对于我们来说是没有任何意义的垃圾值原创 2020-12-17 14:55:49 · 2630 阅读 · 0 评论 -
结合内存来解析C语言语句的本质
下面结合内存来解析C语言语句的本质:int a:编译器帮我们申请了一个int类型的内存格子(长度是4字节,地址是确定的,但是只有编译器知道,我们是不知道的,也不需要知道) ,并且把符号a和这个格子绑定。a=5:编译器发现我们要给a赋值,就会把这个值5丢到符号a绑定的那个内存格子中a+=4:编译器发现我们要给a加值, a += 4等效于a=a +4,编译器会先把a原来的值读出来,然后给这个值加4,再把加之后的和写入a里面去,最后这个格子里面存储的内容就是9。C语言中数据类型的本质含义,是表示一原创 2020-12-17 14:17:49 · 192 阅读 · 0 评论 -
指针是什么?
指针是什么?我们的回答是指针就是地址。说得再全面一点,指针是一个变量,且这个变量是专门用来存放地址的。这就好比你想给A打电话,但你不知道A的电话号码,但你知道C有A的电话号码,而且你也有C的电话,这样你就可以间接地通过C来找到A,指针也是如此。通过下面的例子我们就可以看出用指针变量p来间接地获取了变量a的内容。...原创 2020-12-17 14:12:30 · 568 阅读 · 0 评论 -
指针类型的含义
C语言中的指针,全名叫指针变量,指针变量其实和普通变量没有任何区别(不管intloat等,还是指针类型int "或者float *等) 。只要记住:类型只是对其所修饰的数字或者符号所代表内存空间的长度和解析方法的规定。如int a和int "p其实没有任何区别, a和p都代表一个内存地址(如0x20000000) ,但是这个内存地址0x20000000的长度和解析方法不同。a和b的空间大小虽然都是4个字节(碰I5) ,但是解析方法是截然不同的,前者解析方法是按照int的规定来的;后者按照int *方式解析。原创 2020-12-15 22:13:41 · 3150 阅读 · 0 评论 -
谈谈C语言中的函数
不知道你是否思考过C语言中函数调用是如何实现的,主调函数是如何找到那些被调函数的。在C语言中,函数就是一段代码的封装。函数名的实质就是这一段代码的首地址,所以说函数名的本质也是一个内存地址。有了函数名(指针) ,也就是有了地址,我们才实现了函数的调用。...原创 2020-12-15 22:08:24 · 97 阅读 · 0 评论 -
论c语言代码的执行效率
我们平常所说的执行效率就是使用相同的算法在相同输入条件下完成相同计算所产生的系统开销,目前来说一般会更多关注执行时间方面的开销。所有语言编写的代码最终要运行,都要转化成机器码。在更短的时间内完成相同的事那么效率就高。下面说说如何提高C语言程序的执行效率。1、尽量避免调用延时函数没有带操作系统的程序只能在while(1)里面循环执行,如果在这里面调用大量的延时这样会很消耗CPU的资...转载 2020-04-17 00:03:33 · 2347 阅读 · 1 评论 -
C语言中return和exit(0),exit(1)何种区别?
1、exit(1)表示异常退出,在退出前可以给出一些提示信息,或在调试程序中察看出错原因。2、exit(0)表示正常退出。3、 return是语言级别的,是关键字,它表示了调用堆栈的返回,return用于结束一个函数的执行,将函数的执行信息传出个其他调用函数使用,如果返回的是main函数,则为退出程序。而exit是系统调用级别的,是一个函数,它表示了一个进程的结束。 exit是在调用...转载 2020-04-04 10:36:21 · 1099 阅读 · 0 评论