C语言
家安
这个作者很懒,什么都没留下…
展开
-
C语言return 返回值深入理解
首先明确,局部函数运行完毕后会释放空间。1.返回 值 时:通过汇编代码可以很清楚的看出,函数运行完毕后,会将返回值放入一个寄存器中,调用该函数处,是从寄存器中得到了返回值,并不是从已经运行完毕的函数空间中得到了这个值(因为之前的空间已经释放掉了)。2.返回地址时:函数内部的变量和指针通常会放在栈上,函数运行完毕后,栈也就释放掉了。虽然可以通过一个寄存器将 返回的地址 传给被调用者,...原创 2020-03-01 16:13:01 · 2319 阅读 · 0 评论 -
C语言问题
笔者编写了一个简单的冒泡排序,发现这样一个问题8 #include "sort_h.h" |~ 9 void sort_t(int *a, int n) |~ 10 { ...原创 2019-10-20 10:39:55 · 124 阅读 · 0 评论 -
C语言中的static详细分析
弄懂static 对于写大型的c语言程序还是有很大的帮助。 原文地址: http://blog.csdn.net/keyeagle/article/details/6708077 google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么在关键之处几个字略过,对于想挖掘底层原理的初学者来说参考性不是很大。所以,我这篇博文博采众家之长...转载 2018-04-10 12:35:39 · 163 阅读 · 0 评论 -
linux c 出错集
2018.7.81.声明结构体时,结构体内部不能赋值。比如struct student{ char id=0; char score=0;};这样大错特错!只能在后面struct student{ char id=0; char score=0;};加{}来初始化。2.字符数组 char a[10] 。只有在声明的时候可以这样: char a[10]="xxxxx";若 不是声明时,a="...原创 2018-07-08 09:59:21 · 112 阅读 · 0 评论 -
linux execl()函数
关于execl()函数族的用法不在赘述,其他博主介绍的很详细。下面说下作者在使用该函数时所犯的错误:作者想通过使用execl()函数在子进程中调用其他函数,起初楼主是 这样用的:if((a = execl("~/linux_io/3/3.2/3.2.1/2/hello","hello",NULL)) < 0){ perror("error:");}结果一直提示找不到...原创 2018-07-22 16:18:08 · 9899 阅读 · 0 评论 -
C语言错误系列(1)数组越界
#include <stdio.h>int main(){ int i,j,k; char a[10]; char b[5]; char *p_a = a; char *p_b = b; printf("enter s strings:\n"); gets(a); printf("enter search chars...原创 2019-07-20 00:14:54 · 626 阅读 · 0 评论