![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 73
布尔青年-斯利普
这个作者很懒,什么都没留下…
展开
-
Seventh 文件函数的使用
1.获取文件状态函数 #include<sys/type.h> #include<sys/stat.h> int stat(const char* path,struct stat* buf); 功能:获取问价状态 参数: path:文件名 buf:保存文件信息的结构体 返回值: 成功:0 失败:-1 此函数一般是获取文件大小等信息,而结构体stat的成员有 例子: int main() { struct stat st; sta.原创 2021-08-22 12:53:04 · 77 阅读 · 0 评论 -
Fifth 补充堆空间的阐述,结构体的运用和复合体的简单描述
补充:二级指针对应的堆空间的开辟 上一篇文章写到一级指针对应的堆空间的开辟,使用与释放,这篇文章我先来将二级指针对应的堆空间来说一说。 二级指针对应的堆空间,其实,如果了解了堆空间开辟和使用的原理之后,二级指针对应的堆空间就不难了。先将一级指针对应的堆空间写出来和二级指针对应的堆空间做比较。 //先开辟5个二级指针对应的堆空间,每一个二级指针对应的堆空间里面包含了3个一级指针对应的堆空间, //这就像二维数组p[5][3]一样。 int** p = (int**)malloc(siz..原创 2021-08-08 18:35:54 · 75 阅读 · 0 评论 -
Fourth C语言之分辨变量与函数,搞清内存
1.变量 变量分为局部变量,全局变量,静态局部变量,静态全局变量 (1)局部变量 局部变量也叫auto自动变量,一般情况下在{}内部定义的变量叫自动变量,它只对定义的函数范围内有效,而如果在在语句中,那么只在语句中有效,随着函数或者语句的结束那么它的运用也结束了,我们定义的时候不需要强调auto,就直接定义就行,而main函数中的变量其实也算局部变量。 int main() { int a;定义的a在main函数中有效,main函数结束就失效 for(int i=0;i<n;原创 2021-08-01 23:55:14 · 363 阅读 · 0 评论 -
C语言中新手用VS写代码时遇到的strcpy()和strncpy()问题
来,我们直接看代码 #include<stdio.h> #include<string.h> int main() { char ch[] = "hello world"; char str1[100] = { 0 }; char str2[100] = { 0 }; strcpy(str1, ch); strncpy(str2, ch, 2); printf("%s\n", str1); printf("%s\n", str2); return 0; }原创 2021-07-27 22:20:01 · 1106 阅读 · 0 评论 -
2021-7-24 Third 指针在字符串的应用
1.指针深层解析数组 我们经常使用指针来进行运算,而将指针运用到调用函数当中,我们需要注意的是: 想要运用指针来通过地址传递改变指针的值,必须越级,如果传递指针的值或者地址,调用时还是指针或者地址的话,那么还是属于值传递,越级就是说,传递的级别和调用的级别不一样,比如实参传递地址,形参用地址指向的值这样不同级别的才能实现地址传递来改变实参的值 如: void swap1(int a, int b) { int temp; temp = a; a = b; b = temp; } void原创 2021-07-24 21:51:29 · 95 阅读 · 0 评论 -
Second 指针与数组
1.数组名和指针 在我们平常的使用中,我们经常使用到数组,而在定义非主函数时,我们可以运用数组来进行函数的定义。 我们平常定义的数组名,其实存的是地址,所以数组名可以直接赋值给定义的指针变量。 注意:变量类型要对应。如: int a[]={1,2,3}; int* p=a;//将数组a的地址赋值给指针变量p,但注意,并不是a数组的全部地址 a的地址赋值给p之后,那么,p就可以像a那样使用。 printf("%d/n",a[i]); printf("%d\n",p[i])...原创 2021-07-17 23:03:50 · 256 阅读 · 0 评论