
C
文章平均质量分 72
源代码杀手
大厂算法工程师经验、高校教师。
互相学习,共同进步!想做项目,私聊需求。
展开
-
C语言使用技巧(二十六):通俗易懂理解C 位域
如果程序的结构中包含多个开关量,只有 TRUE/FALSE 变量,如下:struct{ unsigned int widthValidated; unsigned int heightValidated;} status;这种结构需要 12 字节的内存空间(int为4个字节,3个int就是12个字节),但实际上,在每个变量中,我们只存储 0 或 1。在这种情况下,C 语言提供了一种更好的利用内存空间的方式。如果您在结构内使用这样的变量,您可以定义变量的宽度来告诉编译器,您将只使用这些字节。转载 2020-11-14 12:49:08 · 419 阅读 · 0 评论 -
C语言使用技巧(二十五):函数参数中设置输出的参数【虽然简单,但是强大】应用布尔类型,判断非!
函数参数中可以设置输出的参数,这里就不用写return了,并且在调用函数时,可以更新当前的数据规则,使得程序继续向前执行(冒泡排序就是这种特定,感兴趣可以观看:C语言使用技巧(十二):如何找到冒泡排序之后最小数值在原数组中的索引),我们可以先来看看一个交换函数的例子:#include <stdio.h>#include <stdlib.h>void swap(int *a, int *b){ int c; c = *a; *a = *b;原创 2020-11-12 17:50:02 · 862 阅读 · 0 评论 -
ubuntu使用python调用C语言函数
.c文件/* test.c */#include <stdio.h>int func(int a){ return a*a;}int main(int argc, char **argv){ int x; sscanf(argv[1], "%d", &x); printf("%d\n", func(x)); return 0;}.py文件#!/usr/bin/env python#原创 2020-09-11 16:19:30 · 493 阅读 · 0 评论 -
C++详细教程
C++教程导航| C++教程 | C++ 简介 | C++ 环境设置 | C++ 基本语法 | C++ 注释 || C++ 数据类型 | C++ 变量类型 | C++ 变量作用域 | C++ 常量 | C++ 修饰符类型 || C++ 存储类 | C++ 运算符 | C++ 循环 | C++ 判断 | C++ 函数 || C++ 数字 | C++ 数组 | C++ 字符串 | C++ 指针 | C++ 引用 || C++ 日期 & 时间 | C++ 基本的输入输出 | C++ 数据结构 |转载 2020-08-26 22:04:32 · 778 阅读 · 0 评论 -
C++枚举类型
枚举类型(enumeration)是C++中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型。所谓"枚举"是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。创建枚举,需要使用关键字 enum。枚举类型的一般形式为:enum 枚举名{ 标识符[=整型常数], 标识符[=整型常数], ... 标识符[=整型常数]} 枚举变量;如果枚举没有初始化, 即省掉"=整型常数"时原创 2020-08-20 20:24:32 · 306 阅读 · 0 评论 -
C++ 数据类型
https://www.runoob.com/cplusplus/cpp-data-types.html转载 2020-08-20 20:07:29 · 189 阅读 · 0 评论 -
C++ 关键字汇总(避免作为变量名使用)
asmasm (指令字符串):允许在 C++ 程序中嵌入汇编代码。autoauto(自动,automatic)是存储类型标识符,表明变量"自动"具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型。boolbool(布尔)类型,C++ 中的基本数据结构,其值可选为 true(真)或者 false(假)。C++ 中的 bool 类型可以和 int 混用,具体来说就是 0 代表 false,非 0 代表 true。bool 类型常用于条件判断和函数返回值。.原创 2020-08-20 19:51:36 · 1265 阅读 · 0 评论 -
完美解决在Windows下Vs Code编译不同C函数之间的调用问题
首先给出下列头文件.h和.c文件,请自行创建下面的文件后将源码内容导入:1、头文件的内容function.h//#ifndef __FUNCTION_H__//#define __FUNCTION_H__ int fun(int,int); int times(int,int);//#endif2、构造的function.c函数#include "function.h"int fun(int a,int b){ return a+b;}int times(int a,原创 2020-08-12 00:46:46 · 1696 阅读 · 0 评论 -
完美解决Ubuntu16.04下配置vs code编译环境
Vs Code环境配置引用文献1 安装c/c++插件首先通过左边栏的Extension栏目安装C++插件,操作如下图:2 建立工程由于VScode是以文件夹的形式管理工程的,因此我们首先新建一个文件夹,我这里取名叫hello。然后通过VScode打开此文件夹:新建main.cpp文件并输入程序:#include <iostream>using namespace std;int main(){ cout << "编程语言:Helloworld 2转载 2020-08-11 23:58:06 · 3539 阅读 · 0 评论 -
Ubuntu16.04编译环境下将ASN.1转成C程序下的.c和.h源文件和结构体
1、编译环境实验平台:ubuntu16.042、ASN.1介绍ASN.1是定义抽象数据类型规格形式的标准。是用于描述数据的表示、编码、传输、解码的灵活的记法。它提供了一套正式、无歧义和精确的规则,以描述独立于特定计算机硬件的对象结构。ASN.1是通信协议中描述数据传输的正式标记(notation),它与语言实现和物理表示无关,与应用的复杂度无关。ASN.1特别适合表示现代通信应用中那些复杂的、变化的及可扩展的数据结构。ASN.1发送任何形式(音频、视频、数据等等)的信息都必须用数字传送。ASN.1转载 2020-08-11 23:14:29 · 1206 阅读 · 2 评论 -
C语言编译成功后生成后缀名为.o文件是什么文件?
百度答客1:是编译成bai功后的文件,以hello.c为例:先将源文件编du译成目标zhi文件:gcc - c hello.c。生成hello.o文件,dao再将目标文件编译成可执行文件:gcc -o hello hello.o这样就生成了可执行文件,在./hello就可以运行hello了。百度答客2:后缀名.o 就是object, 也就相当于windows下编译的obj文件, 俗称目标文件,该文件是指源代码经过编译程序产生的且能被cpu直接识别二进制代码。由编译器生成,具体的生成方法在不同的开发原创 2020-08-11 14:53:07 · 34352 阅读 · 6 评论 -
解决Visual Studio同一个项目工程下不同C语言程序之间互相调用的问题
定义一个function.h文件来声明这些函数://#ifndef __FUNCTION_H__//#define __FUNCTION_H__ int fun(int,int); int times(int,int);//#endif接下来,在同一个function.c文件中自定义这两个函数:#include "function.h"int fun(int a,int b){ return a+b;}int times(int a,int b){ return原创 2020-08-11 14:39:34 · 3369 阅读 · 0 评论 -
C语言结构体完整解析(二):enum与typedef enum的用法
C语言结构体完整解析(一)案例:#include<stdio.h>struct Student /*学生结构*/{ char cName[20]; /*姓名*/ char cSex; /*性别*/ int iGrade; /*年级*/} student1={"HanXue",'W',2};/*定义变量并设置初始值*/int main(){ struct Student student2={"zhanglili",'M',3}; /*定义变量并设置初始值*/原创 2020-08-11 13:51:42 · 2426 阅读 · 0 评论 -
C语言结构体完整解析(一)
例如:#include<stdio.h>struct Product /*声明结构*/{ char cName[10]; /*产品的名称*/ char cShape[20]; /*形状*/ char cColor[10]; /*颜色*/ int iPrice; /*价格*/ char cArea[20]; /*产地*/};int main(){ struct Product product1; /*定义结构体变量*/ printf("please...原创 2020-08-11 11:36:11 · 770 阅读 · 0 评论 -
解决VS CODE运行C程序闪退的问题
在使用VS Code编写一段C程序代码时,代码没有语法问题,按F5进行调试可以启动运行,当输入值后,按下enter键就出现闪退的情况。下面解决这个问题:system("pause"); //以便在退出程序前调用系统的暂停命令暂停命令行在return前一行加上 system(“pause”); 即可,使其在退出程序前调用系统的暂停命令暂停命令行,如果不加的话程序运行就会立即退出。案例:#include<stdio.h>struct Student /*学生结构*/{ ch原创 2020-08-09 22:57:10 · 7347 阅读 · 3 评论 -
VS CODE编译器C程序报错解决办法:Unable to perform this action because the process is running
将下面的false改成ture再运行你的程序即可: "externalConsole": false,原创 2020-08-09 22:40:23 · 13621 阅读 · 4 评论 -
C语言各个Package的作用汇总
MinGW—- MinGW Base System——– MinGW Compiler Suit———— mingw32-binutils 必选,用于编译生成的 .o 文件的链接、汇编、生成静态库等。———— mingw32-gcc 必选,核心的 C 编译器。———— mingw32-gcc-ada 可选,Ada 编译器。———— mingw32-gcc-fortran 可选,Fortran 编译器。———— mingw32-gcc-g++ 建议,C++ 编译器。———— mingw32-g原创 2020-08-09 22:08:35 · 1366 阅读 · 0 评论 -
解决:无法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次
解决:无法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次1、输入的中划线“-”格式不对,检查是否为全角状态下输入,误输入了下划线“_",或是前后有空格;2、没有引用EntityFramework命令,请执行如下名称(Import-Module 项目路径\packages\EntityFramework.6.1.3(EF版本)\tools\EntityFramework.psd1)另外需要注意的是,执原创 2020-08-09 21:57:38 · 3276 阅读 · 0 评论 -
变量、地址、内容、指针
几句话说明:地址地址就是内存区中对每个字节的编号,下图所示的1000、1001、1002、1003就是地址:变量变量有很多种,上图的变量属于整型变量i,由于整型变量需要4个字节,所以编译器为变量i分配的编号为1000~1003,而这里的编号也就是地址。内容下图所示的1000、1004等就是内存单元的地址,而0、1就是内存单元的内容:指针从地址方面的解释指针的内涵:这里仅将指针看做是内存中的一个地址,多数情况下,这个地址是内存中另一个变量的位置,如下图所示。下图所示的地址1000是变量i原创 2020-08-06 23:08:03 · 742 阅读 · 0 评论 -
完美解决C语言gcc编译器不能读取小数数据TXT文件的问题
在c文件目录下准备好一个write_ata2020.txt,内容如下:0.841471 0.909297 0.14112 -0.756802 -0.958924 -0.279415 0.656987 0.989358 0.412118 -0.544021 -0.99999 -0.536573 0.420167 0.990607 0.650288 -0.287903 -0.961397 -0.750987 0.149877 0.912945 C程序为:#incl原创 2020-07-31 18:58:04 · 879 阅读 · 0 评论 -
完美解决ubuntu2020.04的gcc编译环境下出现报错:undefined reference to `sin‘的问题
三角函数符号引入报错问题解决:解决方法:在后面加“-lm”gcc write.c -o write -lm原创 2020-07-31 16:38:18 · 2860 阅读 · 0 评论 -
如何在ubuntu20.04系统中用gcc编译运行一个C程序?
1、确定安装了gcc编译器后,接下来用vim编辑一demo2020.c文件。sudo vim demo2020.c2、在上面弹出的文件中写入一维数组的遍历内容。3、写好c文件后,用ls命令查看该文件是否存在。4、确定c文件存在后,使用命令gcc c文件名 -o 生成的可执行文件名(例:gcc demo2020.c -o demo2020)。输入编译命令后,如果没显示什么信息,就意味编译成功了。5、编译成功后,再用ls命令查看一下可执行文件是否有生成。6、最后再运行一下可执行文件,可以看到,正原创 2020-07-31 16:25:47 · 3607 阅读 · 0 评论 -
C程序%x转换说明
C程序%x转换含义:%A 浮点数、十六进dao制数字和p-记法(C99)%c 一个字符%d 有符号十进制整数%e 浮点数、e-记数法%E 浮点数、E-记数法%f 浮点数、十进制记数法%g 根据数值不同自动选择%f或%e.%G 根据数值不同自动选择%f或%e.%i 有符号十进制数(与%d相同)%o 无符号八进制整数%p 指针%s 字符串%u 无符号十进制整数%x 使用十六进制数字0f的无符号十六进制整数%X 使用十六进制数字0f的无符号十六进制整数%% 打印一个百分号 使用pr原创 2020-07-31 15:22:57 · 973 阅读 · 0 评论 -
完美解决C语言出现“C4996 ‘scanf‘: This function or variabl”的问题
问题描述:以下是一维数组的手动输入遍历#include <stdio.h>int main() { int nums[10]; int i; //从控制台读取用户输入 for (i = 0; i < 10; i++) { scanf("%d", &nums[i]); //注意取地址符 &,不要遗忘哦 } //依次输出数组元素 for (i = 0; i < 10; i++) {原创 2020-07-30 18:24:54 · 2019 阅读 · 1 评论 -
程序编写中常用的进制前缀表示和后缀表示
转载 2020-07-30 11:31:38 · 758 阅读 · 0 评论 -
看这篇C语言基础就够了(2020-04-19)
title: C语言基础categories: C语言photos:“https://images.wallpaperscraft.com/image/binary_code_hood_hand_126247_1280x720.jpg”C语言入门 -> Linux C语言编程基本原理与实践 -> Linux C语言指针与内存 -> Linux C语言结构体C语言...原创 2020-04-19 18:18:30 · 805 阅读 · 0 评论