C语言最后一个部分,关于程序的预处理的学习与记录。程序的环境通常来讲,C语言在任何一种实现中,都有两个不同的环境,分别是翻译环境以及执行环境。翻译环境用于将源代码转换为可执行的机器指令(编译+链接)。而执行环境指的是在执行.exe文件(二进制文件)的所处的环境。编译过程简单理解:C语言的编译过程包括四个主要环节:预处理、编译、汇编、链接。程序的预处理在C语言的预处理过程中,会对源文件进行处理,先去
对C语言中的文件操作进行讨论,包括一些相关的库函数
对之前写的通讯录改进一下,改成动态内存版本
动态内存管理第一部分解释了什么是动态内存管理,有什么用,以及一些函数,第二部分主要讨论了动态内存在使用的时候会出现一些经典的错误,需要注意。那么这个第三部分主要讨论一些有关动态内存管理有关的比较经典的笔试题。题目1请问运行Test函数会有什么样的结果?void GetMemory(char *p){ p=(char*) malloc(100); } void Test(void){
第二部分主要是常见的动态内存错误动态内存错误1.对NULL指针的解引用操作对NULL指针的解引用操作,什么意思呢?有些同学写代码的时候比较冲动,如下:int main(){ int *p= (int *)malloc(40); for (int i = 0; i < 10; ++i) { *(p+1)=i; } free(p); p=
C语言动态内存管理第一部分
对C语言的学习研究也有一段时间了,今天做一个小项目“通讯录”,来回顾之前所学。文件结构通讯录这个项目需要三个文件:1.test.c 用于测试2.contact.c 用于实现3.contact.h 声明函数需求描述1.该通讯录要能存放1000个好友的信息2.信息要包含:姓名、电话、性别、住址、年龄3.增加好友信息4.删除指定名字的好友信息5.修改好友信息6.打印好友信息7.排序。。。实现实现菜单界面
枚举枚举顾名思义就是一一列举。把可能的取值一一列举。比如我们现实生活中:一周的周一到周日是有限的7天 ,可以一一列举。在实际驱动开发中,枚举类型常用于状态吗以及错误码等类型的列举例如/* Error Codes */ enum i40e_status_code { I40E_SUCCESS = 0, I40E_ERR_NVM = -1, I40E_ERR_NVM_CHECKSUM
位断什么是位段位段的声明和结构体是类似的,有两个不同:1.位段的成员必须是int、unsigned int 或 signed int (也有一些有char)2.位段的成员后面有一个冒号和一个数字。例如:struct A{ int _a:2; int _b:5; int _c:10; int _d:30; };其中A就是一个简单的位段。我们还是先算一下这个位
在讨论自定义数据类型之前,我们不妨先回忆一下C语言的内置类型。例如字符型的char,整型中的int short long 以及浮点型的 float double,这些都会C语言本身提供的数据类型,但仅仅有这些,是不足以满足我们的开发的。那么也就意味着需要一些复杂类型来帮助我们实现对复杂对象的操作,例如结构体,枚举,联合体等。结构体本章主要讨论结构体。将由以下几个部分组成结构体类型的声明结构的基础结
引言C语言中对字符和字符串的处理是很频繁的,但是C语言本身是没有字符串类型的,字符串通常放在常量字符串中,或者字符数组中。字符串常量适用于对其不做修改的字符串函数。计算字符串长度strlensize_t strlen ( const char * str );求出字符串str的长度以空字符‘\0’为结束标志(不包括空字符)从起始位置开始计算直到遇到‘\0’就结束。简单的用法:int main(){
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号