![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c程序
文章平均质量分 84
协议森林
这个作者很懒,什么都没留下…
展开
-
【编译原理】预编译、编译、汇编与链接
1、前言我们编写的程序代码是怎样运行起来的?到底运行的是什么内容?平时我们所说的编译主要包括预编译、编译、汇编与链接,这四部分分别都干什么工作,主要职能有哪些,我们一步步探讨总结。Windows中以2:2划分内核、用户空间,Linux中以1:3划分内核、用户空间。2、预编译:i1.#define 宏文本替换2.#include 递归展开头文件3.#if #endif #elif ...原创 2020-01-31 22:22:41 · 1147 阅读 · 0 评论 -
【协议森林】socket基本原理和操作流程
1. 前言对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:什么是TCP/IP、UDP? Socket在哪里呢?Socket是什么呢?你会使用它们吗?TCP/IP协议族包括运输层、网络层、链路层。一张老照片告诉你Socket在协议栈中的位置。Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计...原创 2019-07-12 21:21:34 · 225 阅读 · 0 评论 -
【c程序】经典函数(strcpy、strlen及memcpy)的实现
#include <stdio.h>char* strcpy(char *strDest, const char* strSrc){ char *p=NULL; if(strDest == NULL || strSrc == NULL) { return NULL; } p = strDest; while((*st...原创 2019-05-26 23:12:47 · 244 阅读 · 0 评论 -
【c语言】数组名和指针的区别
数组名和指针之间,经常会交替使用这两个变量,比如,把一个指针当成数组来使用,或者是把数组名赋值给指针,通过指针来访问数组成员变量,但是,数组名和指针之间到底有什么样的联系与区别,以及什么情况下该使用指针,什么情况下该使用数组名,我对这个做一个小小的解读。。上图中,定义一个数组,数组名为arr,分别打印arr本身的地址,arr首元素的地址,以及arr本身,以整型形式输出,发现,这三者的值是相同...原创 2019-04-26 20:29:20 · 3366 阅读 · 2 评论 -
【c程序】sizeof()与strlen()的区别
原创 2019-04-03 22:14:34 · 152 阅读 · 0 评论 -
【c程序】C/C++语言程序员经典面试题
以下题目摘自林锐博士的《高质量C/C++编程》1、头文件中的ifndef/define/endif 干什么用?答:防止该头文件被重复引用。2、#include <filename.h> 和#include “filename.h” 有什么区别?答:对于#include <filename.h> ,编译器从标准库路径开始搜索filename....原创 2019-04-03 22:05:05 · 400 阅读 · 0 评论 -
【c程序】校验密码不允许键盘连续四个按键输入
/************************************************************************************* * Copyright (C) 2018, XX大学. * All rights reserved. ...原创 2018-08-26 12:56:47 · 4110 阅读 · 0 评论 -
【c程序】expected identifier before numeric constant错误
在linux开发中,出现类似error: expected identifier before numeric constant错误。原因:定义的enum结构体与其它处的宏定义有冲突。举例说明在文件a.h中: #define TRUE 1在文件b.h中: typedef enum { FALSE=0, TRUE=1 }bool;在其他文件x.c...原创 2018-03-28 21:41:44 · 39835 阅读 · 2 评论 -
【c程序】strncat和strncpy截取字符串
C语言中从某位置开始指定长度子字符串的函数,只有从头开始截取的strncat和strncpy,以strncpy为例:char dest[4] = {""};char src[] = {"123456789"};strncpy(dest, src, 3);puts(dest);输出结果为 123看到了吗,strcpy函数中的参数是字符串数组的名字,而数组名本质上是指针,那么,src+3 就可...原创 2018-03-04 21:35:57 · 1845 阅读 · 0 评论 -
【c程序】C语言编码规范
头文件:1.头文件中适合放置接口的声明,不适合放置实现。2.头文件应向稳定的方向包含,产品依赖于平台,平台依赖于标准库。3. .c/.h文件禁止包含用不到的头文件。4.每一个.c文件应有一个同名.h文件,用于声明需要对外公开的接口。5.禁止头文件循环依赖。6.头文件应当自包含(任意一个头文件均可独立编译)。7.禁止原创 2017-11-17 10:14:00 · 663 阅读 · 0 评论 -
【c++程序】全局变量和局部变量汇总
定义在函数内部的变量称为局部变量(Local Variable),它的作用域仅限于函数内, 离开该函数后再使用就是错误的。例如:int f1(int a){ int b,c; //a,b,c仅在函数f1()内有效 return a+b+c;}int main(){ int m,n; //m,n仅在函数main()内有效 return 0;}几原创 2016-07-11 22:15:42 · 706 阅读 · 0 评论 -
【c++程序】C/C++中内存区域划分
一个由C/C++编译的程序占用的内存分为以下几个区域:1、栈区(stack)由系统自动分配和释放,用于存放函数的参数值,局部变量值等。其在内存中是一块连续的存储区域,由低地址向高地址延伸。2、堆区(heap) 由程序员分配和释放,若程序员不释放,则程序结束时可能由操作系统回收。其存储空间在内存中是不连续,分配方式类似于链表。 3、静态区(static)原创 2016-07-11 21:47:51 · 400 阅读 · 0 评论 -
【c程序】关于宏
/******************************************************//**************---About Macro----------**************//**************---Author: Tibruce Zhao---**************//**************---Date: 201原创 2015-08-30 15:59:50 · 607 阅读 · 0 评论 -
【c程序】用指针交换两数的值
/******************************************************//**************---About Pointer--------**************//**************---Author: Tibruce Zhao---**************//**************---Date: 201原创 2015-09-01 10:17:53 · 888 阅读 · 0 评论 -
【c程序】数组与指针
/******************************************************//**************---About Pointer--------**************//**************---Author: Tibruce Zhao---**************//**************---Date: 201原创 2015-08-31 19:21:36 · 365 阅读 · 0 评论