![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言高级
文章平均质量分 59
爱上码农
五年手机Linux驱动开发,熟悉C/C++/linux/python/opencv!现为学校老师!爱算法,爱代码!
展开
-
6.指针数组做函数参数
一维数组名也是一个地址,即指针,只不过数组名是一个常量指针,常量指针即不能修改该指针的值!所以看字符数组的赋值与字符指针的赋值就明白了!void main() { int a[5] = { 0,1,2,3,4 }; //a++;a--这些操作都是错误的! char buf[32] = "hello world"; //这是可以的,hello world以字符的形式拼接成的,存储在栈区 char buf1[32]; //buf1 = "hello world"; // 这是不可以的,hello原创 2021-06-29 16:40:28 · 7739 阅读 · 2 评论 -
5.字符指针和指针数组
1.定义字符指针:指向字符的指针;这是最简单的运用!void main() { char *ptr = NULL; char ch = 'a'; ptr = &ch; *ptr = 'b'; printf("%c\n", ch); system("pause");}在C语言中,没有字符串类型,字符串类型一般使用字符数组来描述;但是大家需要将字符数组与字符串区分开来!在C语言中,一般使用字符指针来指向字符串!利用数组和字符指针表示的字符串有着本质的区别!ch原创 2021-06-29 11:42:14 · 573 阅读 · 0 评论 -
3.C语言内存四区
没有掌握内存,就学习不好C语言!没有掌握内存,就学习不好指针,没学会指针,就没掌握C语言的精髓!物理地址,线程地址、逻辑地址,这些概念,如果单纯的学习C/C++语言编程,没有必要把他们搞清楚,如果将来从事嵌入式驱动开发,再将这些概念搞懂!操作系统,为每一个进程都分配的有栈,堆,,代码区,全局变量区!也就是说,每一个进程都拥有自己的堆栈,全局区,代码区,也就是内存四区!每个进程都有自己的进程空间,内存四区就属于进程空间;所以,一个进程只能访问自己的进程空间,不能访问另一个进程的进程空间。1.内存四原创 2021-06-28 16:26:14 · 95 阅读 · 0 评论 -
4.C语言函数高级
无论学习什么语言,函数都是很重要的部分!要想学好函数,必须从两个方面提高自己的能力!1.函数的使用能力:给你一个函数,知道了函数的参数,返回值,以及函数的作用后,就可以使用这个函数!2.函数的封装能力:将一个功能模块封装成一个函数接口,并且,封装后的函数接口必须具有通用性,例如,自己封装一个函数接口,完成字符串拷贝功能,那么无论对于多长的字符串都可以完成这个功能,也就是说,长度为5的字符串可以拷贝,长度为500的字符串也可完成拷贝,这就是通用性!1.函数名的含义函数名就是一个地址,即函数的入原创 2021-06-28 16:04:54 · 257 阅读 · 0 评论 -
2.C语言的变量类型
2.1变量名含义变量名是一段内存的别名,是给程序员看的,而不是给计算机看的。int a =5;编译器分配4个字节内存,并命名该4个字节的空间名字为a(即变量名),当用到变量名a时,就是在使用那4个字节的内存空间.5是一个常数,在程序编译时存放在代码的常量区存放着它的值(就是5),当执行a=5时,程序将5这个常量拷贝到a所在的4个字节空间中,就完成了赋值操作.a是我们对那个整形变量的4个字节取的"名字",是我们人为给的,实际上计算机并不存储a这个名字,只是我们编程时给那4个字节内存取个原创 2021-06-25 16:51:41 · 194 阅读 · 0 评论 -
1.写在前面的话
在所有的编程语言中,可以说,除了汇编语言,C语言绝对可以排在难度排行榜的第二名!C语言到底难在什么地方呢?毫无疑问,当然是指针了!学习C语言,如果没有掌握好指针,就相当于没有学过C语言,更无法体会C语言的价值!C语言的基本语法和其它语言差别不大,所以没必要重复讲解!从今天开始,将C语言的高级部分整理一下,其中包含大家在学习和工作中容易犯的错误,让大家少走弯路!学习C语言,关键在于理解内存,不需要死记硬背!只有理解了,才能长久记忆!强调一下,一下内容适合有C语言或者其它语言基础的人士阅读,原创 2021-06-25 16:19:32 · 56 阅读 · 0 评论