
C语言重点突破
文章平均质量分 92
本专栏在C语言基础上对C语言相关的重点与代码原理进行介绍,意在帮助有一定C语言基础的读者进行突破,加深对C语言的理解。
对编程一片赤诚的小吴
永远保持一颗学习的心
展开
-
C语言重点突破(六)文件操作
我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)原创 2023-11-29 12:06:13 · 1130 阅读 · 2 评论 -
C语言重点突破(五) 动态内存管理
c语言提供了一种动态申请内存的函数malloc这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。返回值的类型是 void* ,所以malloc函数并不知道开辟空间的类型,具体在使用的时候使用者自己来决定。如果参数 size 为0,malloc的行为是标准是未定义的,取决于编译器。原创 2023-11-01 21:17:22 · 509 阅读 · 7 评论 -
C语言重点突破(四)自定义类型详解
本文意在介绍C语言里的常规自定义类型,它是C语言里最重要的概念之一,是我们从简单使用C语言到综合运用必不可少的知识之一,在C语言中具有重要的地位和作用,掌握自定义类型的使用方法和技巧对于写出高质量的C程序是非常重要的。下面是结构体变量的定义与初始化int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu //类型声明//名字int age;//年龄//初始化int data;//结构体嵌套初始化。原创 2023-10-26 11:08:30 · 205 阅读 · 7 评论 -
C语言重点突破(3)字符串函数与内存函数的介绍
这个函数用于返回字符串的长度,在求字符串或是遍历字符串经常用来求字符串长度。需要注意的小细节:1.字符串已经 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前面出现的字符个数(不包含 '\0' )。2.参数指向的字符串必须要以 '\0' 结束。3.注意函数的返回值为size_t,是无符号的( 易错 )内存函数与字符串函数的区别在于,内存函数是以内存块为单位进行调用,使得它可以作用于任意类型。原创 2023-10-13 18:14:33 · 153 阅读 · 3 评论 -
C语言重点突破(2)指针(三)
首先可以明确的是,函数指针和数组指针的类型都是指针类型,用来存放地址的,数组指针存放数组的地址,而函数指针存放的便是函数的地址。我们来看看函数指针是如何定义的答案是:pfun1,首先*先与pfun1结合,说明它是一个指针,之后再与()结合形成指向函数的指针,返回类型是void。2. 函数指针数组前面我们已经学过指针数组,它是一个存放指针变量的数组,而函数指针数组就是存放函数指针的数组。下面来看看它是如何定义的。原创 2023-10-09 17:46:27 · 261 阅读 · 5 评论 -
C语言重点突破(2)指针(二)
1. 字符指针在我的前一章节,我们提到指针也有类型的区分,有整型指针,浮点型指针,下面我们讲讲字符指针字符指针的用法通常是将一个字符变量的地址存放到该指针中去,通过对指针的解引用来对该值进行操作其实还有一种使用方式运行的结果是将整个字符串输出来,这里就会有小伙伴好奇了,字符指针也能存放字符串的地址吗?其实结果与我们想的大不相同,本质是把字符串 的首地址存入到了指针中。如果原理是这样的话,我们看看下面这段代码运行结果这是为什么呢?这里str3和str4指向的是一个同一个常量字符串。原创 2023-10-08 16:31:56 · 176 阅读 · 2 评论 -
C语言重点突破(2)指针(一)
指针对于C语言非常重要,因为它是C语言的重要特性之一。指针可以帮助程序员更高效地处理内存,允许程序访问和修改内存中的数据。在C语言中,变量存储在内存中的某个位置上,变量的地址就是这个位置的地址,指针就是表示存储在某个内存位置上的变量地址的变量。指针可以用于动态分配内存,使程序更加灵活。通过指针,程序员可以创建和操作数据结构,实现复杂的算法和数据处理程序。除此之外,指针还可以用于定义函数参数和返回值。使用指针参数,函数可以修改调用者的变量,从而实现更加灵活的函数。原创 2023-10-05 09:48:46 · 113 阅读 · 3 评论 -
C语言重点突破(1)数据在内存中的存储
计算机中存储数据时,字节的顺序有两种:大端序和小端序。大端序,也称为网络字节序,将高位字节存储在低地址,低位字节存储在高地址。例如,十六进制数0x12345678在大端序中会存储为0x12 0x34 0x56 0x78,即高位字节0x12存储在低地址,低位字节0x78存储在高地址。小端序则相反,将低位字节存储在低地址,高位字节存储在高地址。例如,十六进制数0x12345678在小端序中会存储为0x78 0x56 0x34 0x12,即高位字节0x12存储在高地址,低位字节0x78存储在低地址。原创 2023-10-03 11:48:39 · 125 阅读 · 2 评论