标签 char 下的文章

  • 📂【内存对齐】第六篇·嵌套构造类型的对齐规则{数组}教程

    结构体{ 数组 }对于结构体中包含数组这种情况,还是比较常见的。按照数组的规则,和结构体嵌套结构体的规则,可以猜测:相当于将数组打开为多个同样大小的结构体成员。验证:struct test\_st{ char meat[3]; }test; Size: 3 Address: 0x00000001004071a4struct test\_st{ char meat[3]; ...

  • 📂Linux_C阶段小项目教程

    基于C命令行的随机点名器项目描述使用C语言,制作一个在命令行运行的点名程序,该程序运行时可指定班级的花名册文件,运行后在界面上显示随机抽取名字的过程,速度由快到慢,逐渐定格到某一个“幸运儿”上,程序结束。功能要求指定普通文本文件(*.txt)为名单,以行为单位读取学生名字.随机抽取的过程在终端动态展示出来,速度呈慢-快-慢渐变效果.从名单中抽取名字后,将名单中相应的名字去掉.可以一次抽取若干...

  • 📂C++ | 内存共享教程

    一、背景最近在做美颜软件虚拟摄像头的功能,类似YY开播(我们获取笔记本的摄像头列表时,列表中除了自带的摄像头,以及usb的摄像头,还有YY开播),查了一下网络上实现的虚拟摄像头展示的都是本地的视频,但是我这边的美颜软件需要读取自带摄像头拍摄的画面,美颜后将视频帧数据传输到虚拟摄像头中,当我们调用虚拟摄像头的时候就能看到美颜后的画面,这个功能的实现就用到了美颜软件和虚拟摄像头的内存共享。二、代...

  • 📂Linux中c程序命令行参数解析教程

    在Linux中,较为复杂的C程序命令行参数的解析通常使用getopt, getopt_long以及getopt_long_only来进行,如下所示。#include <unistd.h> int getopt(int argc, char *const argv[], const char *optstring); extern char *optarg...

  • 📂内存四区模型C/C++教程

    1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和...

  • 📂内存四区代码演示教程

    栈:#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <stdlib.h> char *pMem1() { char *p1 = "hellow12345"; return p1; } //函数调用完毕后,...

  • 📂Linux C strtok实现自定义字符串切分函数split教程

    -1. 问题:Linux C如何切分字符串?java的String类有split方法,可以将字符串对象按指定字符串进行切分,返回一个数组String[],包含切分后的所有字符串。 Linux C如何对字符串进行切分呢?有没有类似函数/系统调用? 答:Linux C没有字符串类,也没有split函数,不过有切分字符串的方法:strtok函数。-2.strtok函数提取分隔符间字串。strok...

  • 📂linux直接IO代码演示教程

    点击查看代码<pre class="language-cpp">``` #define _GNU_SOURCE//第一步,定义这个宏 #include<stdlib.h> #include<stdio.h> #include<unistd.h> #include<sys/types.h> #include<...

  • 📂结构体内存对齐(涉及#pragma pack() 和 offsetof)教程

    结构体内存对齐 - (计算结构体大小) - 拿空间换取时间的做法-对齐规则 1.第一个成员在与结构体变量偏移量为0的地址处2.其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处对齐数 = 编译器默认的一个对齐数 与 该成员大小 比较取的较小值vs 默认是 8 , gcc没有默认对齐数-对齐数就是该成员大小3.结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍-代码实...

  • 📂【C语言进阶】字符串与内存函数memcpy、memmove、strcmp、strstr实现教程

    函数实现快速预览: 1. memcpy()函数不能拷贝重叠的内存 2. memmove函数可以处理内存重叠的情况 3. strcmp任何类型都可以比较,前提是强制转换成char类型 4. strstr函数中查找src所有字符串是否能在dest中找到 目录一、void* memcpy(void* dest, const void* src, size\_t num)二、void* memmov...

  • 📂【C语言进阶学习笔记】三、字符串函数+内存函数详解(2)教程

    本篇文章继续上一篇文章【C语言进阶学习笔记】三、字符串函数详解(1)(爆肝吐血整理,建议收藏!!!) 来详细介绍和学习字符串操作函数及内存操作函数。-文章目录九、strtok十、strerror字符分类函数∶字符转换函数:十一、memcpy十二、memmove十三、memcmp(简单了解)十四、memset(简单了解)-九、strtokchar* strtok(char* str,...

  • 📂Linux开发项目(四)教程

    ZigBee技术的使用上一篇文章介绍了上位机服务器环境的搭建,这一篇重点在于下位机的使用。本次硬件使用的是TI公司的CC2530,软件用IAR开发编程并且涉及到了TI开发的ZigBee协议栈Z-Stack的使用。一、ZigBee相关知识具体操作之前,简单了解一下协议栈的架构。在Z-Stack使用过程中程序的编写一般都在应用层App目录下的SampleApp.c中。 此外,在ZigB...

  • 📂库函数与Linux系统API教程

    1 文件IOopen() close() read() write() lseek()等系统调用函数的使用,在Linux系统调用函数里都是使用文件描述符来操作文件,只有在用open函数打开文件的时候使用了文件名,然后返回了文件描述符用于其它函数操作文件。open() #include <sys/types.h> #include <sys/stat.h> #inc...

  • 📂多重指针内存地址教程

    例子#include<iostream> int main() { char* buffer = new char[10];//创建char类型的指针数组 memset(buffer, 0, 10); //初始化为0 char** ptr = &buffer; //创建二重指针并指向一个指针 std::ci...

  • 📂5.nginx字符串(ngx_str_t)教程

    nginx 字符串定义typedef struct { size_t len; //数据长度 u_char *data; //数据 } ngx_str_t; len:字符串大小data:字符串有了len成员标志可以不使用C风格的字符串以’\0’结尾字符串初始化#define ngx_string(str) { sizeof(str) - ...

  • 📂【Linux入门到精通系列讲解】利用管道机制进行I/O控制教程

    #include<unistd.h> #include<stdio.h> #include<errno.h> #include<string.h> int main(){ static const char mesg[]="Happy New years to you!"; char buf[BUFSIZ]...

  • 📂linux c/c++ 面试题目整理(三)教程

    21、写一段代码判断机器的字节序。字节序有两种方法: 大端法:高位字节存放在内存低地址端,低位字节存放在内存的高地址端; 小端法:低位字节存放在内存低地址端,高位字节存放在内存的高地址端; 其中网络字节序采用的是大端法,而主机字节序则根据CPU的不同所采用的方法不一样,可以通过写一段代码来查看自己主机的字节序。 判断主机字节序的方法也有两种: 一是使用联合体,代...

  • 📂Unix/Linux编程:客户应用程序------DAYTIME、TIME、ECHO教程

    准备#include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <netdb.h> #include <string.h> #include <stdlib.h>...

  • 📂【CTF Wiki Pwn】Stackoverflow Lab002: ret2shellcode教程

    文章目录1、检查保护机制2、IDA分析3、解题思路4、exp1、检查保护机制checksec的结果: 2、IDA分析int __cdecl main(int argc, const char **argv, const char **envp) { char v4[100]; // [esp+1Ch] [ebp-64h] BYREF setvbuf(stdout, 0, 2, ...

  • 📂Linux环境C 进程及进程间通信教程

    进程基本概念:1、进程与程序​ 程序就是储存在磁盘上的可执行文件,程序被加载到内存中开始运行进程。​ 一个程序被多次加载时就生成了多个进程​ 进程就是处于活动状态的计算机程序2、进程的分类​ 进程一般分为三种类型:交互进程、批处理进程、守护进程​ 守护进程一般处于活跃状态,运行在后台,由系统在开机时通过启动脚本来自动创建3、 查看进程​ 简单方式 ps 显示当前用户有控制终端的进程信息​ 列...

  • 📂linux asan和objdump排查内存泄露以及coredump教程

    在linux C语言开发中,内存泄漏是很多人都会遇到的问题,linux下有很多内存检测的工具,比如valigard可以在跑覆盖率的同时检测到内存泄漏。不过这个工具好像对性能影响较大。后来gcc 直接引入了自己的检测工具,asan,对应内核有kasan 最近也是用上了这个工具,还是挺强大的。具体内容和编译方法可以参考官网:http://gcc.gnu.org/onlinedocs/gcc/In...

  • 📂Linux系统C语言文件编程教程

    -1.文件打开及创建#include #include #include #include int main(){ int fd; fd = open("./file1",O_RDWR); //open函数,打开当前路径(./)下的文件,O_RDONLY(只读),O_WRONLY(只写),O_RDWR(可读可写) open的返回类型为指针 ...

  • 📂C语言 | 基于Linux、C、JSON、Socket的编程实例(附代码)教程

    1024G 嵌入式资源大放送!包括但不限于C/C++、单片机、Linux等。关注微信公众号【嵌入式大杂烩】,回复1024,即可免费获取!一、前言之前在学习socket编程的时候有分享一个基于控制台的简易天气客户端的实现,当时提供的是window下的代码,最近有几位小伙伴问有没有Linux版本的。现在就分享Linux版的代码,有需要的朋友自己下载:<pre class="has...

  • 📂C语言结构体,共用体占用内存原理解析教程

    C语言结构体占用内存原理解析结构体内存原理解析:共用体内存原理解析:结构体内存原理解析:结构体在内存中的存储有以下规则:结构体成员中的其实地址应该是该成员所占内存的整数倍,如果不足整数倍需要补齐结构体所占内存为结构体成员中最大基础数据类型的整数倍。 这里说下基础类型:int,char,long,long long,double,float 规则1解析:typedef struct{ ...

  • 📂基于Linux的TCP网络聊天室教程

    1.实验项目名称:基于Linux的TCP网络聊天室2.实验目的:通过TCP完成多用户群聊和私聊功能。3.实验过程:通过socket建立用户连接并传送用户输入的信息,分别来写客户端和服务器端,利用多线程来实现多用户模式,服务器端随时准备接收客户端发送的消息,并判断该消息类型(私聊或群聊)来进行对应的转发工作,客户端随时接受来自服务器端的消息,从而实现消息的同步。(1)开启服务器。(2)开启客户...

  • 📂【C语言进阶笔记】用图文+代码让你深度理解数据在内存中的存储教程

    目录数据类型介绍类型的基本归类整形家族浮点数家族构造类型指针类型空类型整型在内存中的存储原码反码补码存储补码的原因:大小端介绍什么大端小端:为什么有大端和小端设计一个小程序来判断当前机器的字节序整型存储的例子练习1练习2练习3练习4练习5练习6char 和unsigned char的取值范围练习7浮点型在内存中的存储常见的浮点数浮点数存储的例子浮点型数据在计算机内部的表示方法解析总结-数据类...

  • 📂数据在内存中的存储教程

    数据类型是我们在c语言里面最长用到的,每次声明变量时我们其实都使用到了数据类型,但是不同的数据类型在计算机内存中的存储是否相同?以什么样的形式存储? 常见的数据类型也是最基本的类型:char //字符数据类型 short //短整型 int //整型 long //长整形 long long //更长的整型 float //单精度浮点型 double //双精度浮...

  • 📂不同数据类型在内存中的储存教程

    本章重点数据类型的详细介绍 (1.内置类型 2.自定义类型(构造类型))整形在内存中的存储:原码、补码、反码大小端字节序介绍及判断浮点型在内存中的存储解析### 结尾附有练习题1-><pre class="brush:cpp;toolbar:false">整形家族: char unsigned char 0-255  //无符号字符 si...

  • 📂内存操作函数教程

    1.char*strtok(char*str,const char*sep)sep参数是个字符串,定义了用作分隔符的字符集合strtok这个函数有记忆功能第一次传递的参数是元素首地址,第二次传递的字符串是个空指针,它会记住上次分隔符的位置2.错误报告函数char*strerror(int errnum)返回错误码,所对应的错误信息,当c语言的库函数在执行过程中,发生了错误,就会把对应的错误码...

  • 📂linux下实现伪造udp包和绑定网卡发送数据教程

    1.包含头文件#include <sys/types.h> #include <sys/socket.h> #include <sys/un.h> #include <arpa/inet.h> #include <unistd.h> #include <string.h> #include <time.h> ...