03 2018 档案

摘要:数据结构之数组定义及基本操作 数据结构中最基本的一个结构就是线性结构,而线性结构又分为连续存储结构和离散存储结构。所谓的连续存储结构其实就是数组。 数组本质其实也是数据的一种存储方式,既然有了数据的存储,就会涉及到如何对数据进行寻址的问题。首先,先说一下在数组中数据是如何存储的,在内存中,数组中的数据是以一组连续的数据集合的形式存在于内存中。当我们访问存在于内存中的数组时,我们应该找... 阅读全文
posted @ 2018-03-18 16:18 乡下菜农 阅读(2507) 评论(0) 推荐(0) 编辑
摘要:LCD浮点数显示函数的探讨 原创 2017年12月19日 单片机开放附赠的学习资料里面很少见到显示浮点数的函数,显示浮点数的操作也相当烦坠! 一般转换显示法 拿STM32单片机资源,我们选取ADC采样部分函数来看显示过程 adcx=Get_Adc_Average(ADC_Channel_5,20); LCD_ShowxNum(134,130,adcx,4,... 阅读全文
posted @ 2018-03-18 13:58 乡下菜农 阅读(2203) 评论(0) 推荐(0) 编辑
摘要:C 数据类型 在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。 C 中的类型可分为以下几种: 序号 类型与描述 1 基本类型: 它们是算术类型,包括两种类型:整数类型和浮点类型。 2 枚举类型: 它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。 3 void 类... 阅读全文
posted @ 2018-03-09 20:21 乡下菜农 阅读(284) 评论(0) 推荐(0) 编辑
摘要:C 基本语法 我们已经看过 C 程序的基本结构,这将有助于我们理解 C 语言的其他基本的构建块。 C 的令牌(Tokens) C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。例如,下面的 C 语句包括五个令牌: printf("Hello, World! \n"); 这五个令牌分别是: printf ( "Hello, World! \n" ) ; 分号 ; ... 阅读全文
posted @ 2018-03-09 20:19 乡下菜农 阅读(147) 评论(0) 推荐(0) 编辑
摘要:C 标准库 - 简介 stdio .h 头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。 库变量 下面是头文件 stdio.h 中定义的变量类型: 序号 变量 & 描述 1 size_t 这是无符号整数类型,它是 sizeof 关键字的结果。 2 FILE 这是一个适合存储文件流信息的对象类型。 3 fpos_t 这是一个适合存储文件中任何位置的对象... 阅读全文
posted @ 2018-03-09 20:18 乡下菜农 阅读(285) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 计算标准偏差 计算标准偏差。 实例 #include #include float calculateSD(float data[]); int main() { int i; float data[10]; printf("输入10个元素: "); for(i=0; i < 10; ++i) scanf("%... 阅读全文
posted @ 2018-03-09 20:17 乡下菜农 阅读(1242) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 创建各类三角形图案 创建三角形图案。 实例 - 使用 * 号 #include int main() { int i, j, rows; printf("行数: "); scanf("%d",&rows); for(i=1; i int main() { int i, j, rows; printf... 阅读全文
posted @ 2018-03-09 20:16 乡下菜农 阅读(1289) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 实现简单的计算器 实现加减乘除计算。 实例 # include int main() { char operator; double firstNumber,secondNumber; printf("输入操作符 (+, -, *,): "); scanf("%c", &operator); printf("输入两... 阅读全文
posted @ 2018-03-09 20:15 乡下菜农 阅读(1108) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 判断回文数 判断一个数是否为回文数。 设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数;但若n=1234567,则n不是回文数 实例 #include int main() { int n, reversedInteger = 0, remainder, originalI... 阅读全文
posted @ 2018-03-09 20:14 乡下菜农 阅读(790) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 计算一个数的 n 次方 计算一个数的 n 次方,例如: 23,其中 2 为基数,3 为指数。 实例 - 使用 while #include int main() { int base, exponent; long long result = 1; printf("基数: "); scanf("%d", &base); ... 阅读全文
posted @ 2018-03-09 20:13 乡下菜农 阅读(2474) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 判断数字为几位数 用户输入数字,判断该数字是几位数。 实例 #include int main() { long long n; int count = 0; printf("输入一个整数: "); scanf("%lld", &n); while(n != 0) { // n = n/10 ... 阅读全文
posted @ 2018-03-09 20:12 乡下菜农 阅读(1707) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 循环输出26个字母 循环输出 26 个字母。 实例 #include int main() { char c; for(c = 'A'; c int main() { char c; printf("输入 u 显示大写字母,输入 l 显示小写字母: "); scanf("%c", &c); if... 阅读全文
posted @ 2018-03-09 20:11 乡下菜农 阅读(2884) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 阶乘 一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。 n!=1×2×3×...×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。 实例 #include int main() { int n, i; unsigned long long factorial = 1... 阅读全文
posted @ 2018-03-09 20:10 乡下菜农 阅读(415) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 求两数最小公倍数 用户输入两个数,其这两个数的最小公倍数。 实例 - 使用 while 和 if #include int main() { int n1, n2, minMultiple; printf("输入两个正整数: "); scanf("%d %d", &n1, &n2); // 判断两数较大的值,并赋值给 minMu... 阅读全文
posted @ 2018-03-09 20:09 乡下菜农 阅读(1141) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 求两数的最大公约数 用户输入两个数,求这两个数的最大公约数。 实例 - 使用 for 和 if #include int main() { int n1, n2, i, gcd; printf("输入两个正整数,以空格分隔: "); scanf("%d %d", &n1, &n2); for(i=1; i int main(... 阅读全文
posted @ 2018-03-09 20:08 乡下菜农 阅读(527) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 斐波那契数列 斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........ 这个数列从第3项开始,每一项都等于前两项之和。 实例 - 输出指定数量的斐波那契数列 #include ... 阅读全文
posted @ 2018-03-09 20:07 乡下菜农 阅读(1882) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 输出九九乘法口诀表 使用嵌套 for 循环输出九九乘法口诀表。 实例 #include int main(){ //外层循环变量,控制行 int i = 0; //内层循环变量,控制列 int j = 0; for(i=1;i<=9;i++){ for(j=1;j<=i;j++){ ... 阅读全文
posted @ 2018-03-09 20:06 乡下菜农 阅读(794) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 计算自然数的和 自然数是指表示物体个数的数,即由0开始,0,1,2,3,4,……一个接一个,组成一个无穷的集体,即指非负整数。 实例 - 使用 for #include int main() { int n, i, sum = 0; printf("输入一个正整数: "); scanf("%d",&n); for(i=1; i... 阅读全文
posted @ 2018-03-09 20:05 乡下菜农 阅读(364) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 判断字母 C 语言实例 C 语言实例 用户输入一个字符,判断该字符是否为一个字母。 实例 #include int main() { char c; printf("输入一个字符: "); scanf("%c",&c); if( (c>='a' && c='A' && c<='Z')) printf("%c 是字母"... 阅读全文
posted @ 2018-03-09 20:04 乡下菜农 阅读(351) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 判断正数/负数 用户输入一个数字,判断该数字是正数还是负数或是零。 实例 #include int main() { double number; printf("输入一个数字: "); scanf("%lf", &number); if (number <= 0.0) { if (number == 0.0... 阅读全文
posted @ 2018-03-09 20:03 乡下菜农 阅读(1357) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 一元二次方程 求一元二次方程:ax2+bx+c=0 的根。 输入三个实数a,b,c的值,且a不等于0。 实例 #include #include int main() { float a,b,c,x1,x2,d; printf("输入方程的三个系数:"); scanf("%f %f %f",&a,&b,&c); ... 阅读全文
posted @ 2018-03-09 20:02 乡下菜农 阅读(528) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 判断奇数/偶数 C 语言实例 C 语言实例 以下实例判断用户输入的整数是奇数还是偶数。 实例 #include int main() { int number; printf("请输入一个整数: "); scanf("%d", &number); // 判断这个数除以 2 的余数 if(number % 2 == 0) ... 阅读全文
posted @ 2018-03-09 20:01 乡下菜农 阅读(1224) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 判断元音/辅音 C 语言实例 C 语言实例 判断输入的字母是元音,还是辅音。 英语有26个字母,元音只包括 a、e、i、o、u 这五个字母,其余的都为辅音。y是半元音、半辅音字母,但在英语中都把他当作辅音。 实例 #include int main() { char c; int isLowercaseVowel, isUppercaseVowel; ... 阅读全文
posted @ 2018-03-09 20:01 乡下菜农 阅读(708) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 输出当前文件执行代码 输出当前文件执行代码,__FILE__ 为当前执行的文件常量。 实例 #include int main() { FILE *fp; char c; fp = fopen(__FILE__,"r"); do { c = getc(fp); putchar(c); } w... 阅读全文
posted @ 2018-03-09 19:59 乡下菜农 阅读(225) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 从文件中读取一行 从文件中读取一行。 文件 runoob.txt 内容: $ cat runoob.txt runoob.com google.com 实例 #include #include // exit() 函数 int main() { char c[1000]; FILE *fptr; if ((fptr = fopen("runo... 阅读全文
posted @ 2018-03-09 19:58 乡下菜农 阅读(5799) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 将字符串写入文件 C 语言实例 C 语言实例 将字符串写入文件。 实例 #include #include /* exit() 函数 */ int main() { char sentence[1000]; FILE *fptr; fptr = fopen("runoob.txt", "w"); if(fptr == NULL) ... 阅读全文
posted @ 2018-03-09 19:57 乡下菜农 阅读(5372) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 计算两个时间段的差值 C 语言实例 C 语言实例 计算两个时间段的差值。 实例 #include struct TIME { int seconds; int minutes; int hours; }; void differenceBetweenTimePeriod(struct TIME t1, struct TIME t2, struct TIME *... 阅读全文
posted @ 2018-03-09 19:56 乡下菜农 阅读(2026) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 复数相加 C 语言实例 C 语言实例 使用结构体(struct)将两个复数相加。 我们把形如 a+bi(a,b均为实数)的数称为复数,其中 a 称为实部,b 称为虚部,i 称为虚数单位。 实例 #include typedef struct complex { float real; float imag; } complex; complex add... 阅读全文
posted @ 2018-03-09 19:55 乡下菜农 阅读(924) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 字符串排序 C 语言实例 C 语言实例 按字典顺序排序。 实例 #include #include int main() { int i, j; char str[10][50], temp[50]; printf("输入10个单词:\n"); for(i=0; i0) { ... 阅读全文
posted @ 2018-03-09 19:54 乡下菜农 阅读(906) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 使用结构体(struct) C 语言实例 C 语言实例 使用结构体(struct)存储学生信息。 实例 #include struct student { char name[50]; int roll; float marks; } s; int main() { printf("输入信息:\n"); printf("名字... 阅读全文
posted @ 2018-03-09 19:54 乡下菜农 阅读(484) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 字符串复制 C 语言实例 C 语言实例 将一个变量的字符串复制到另外一个变量中。 实例 - 使用 strcpy() #include #include int main() { char src[40]; char dest[100]; memset(dest, '\0', sizeof(dest)); strcpy(src, "Thi... 阅读全文
posted @ 2018-03-09 19:53 乡下菜农 阅读(361) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 字符串中各种字符计算 C 语言实例 C 语言实例 计算字符串中的元音、辅音、数字、空白符。 实例 #include int main() { char line[150]; int i, vowels, consonants, digits, spaces; vowels = consonants = digits = spaces = 0... 阅读全文
posted @ 2018-03-09 19:52 乡下菜农 阅读(1237) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 查找字符在字符串中出现的次数 C 语言实例 C 语言实例 查找字符在字符串中的起始位置(索引值从 0 开始)。 实例 #include int main() { char str[1000], ch; int i, frequency = 0; printf("输入字符串: "); fgets(str, (sizeof str / size... 阅读全文
posted @ 2018-03-09 19:51 乡下菜农 阅读(4348) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 计算字符串长度 C 语言实例 C 语言实例 计算字符串长度。 实例 - 使用 strlen() #include #include int main() { char s[1000]; int len; printf("输入字符串: "); scanf("%s", s); len = strlen(s); pr... 阅读全文
posted @ 2018-03-09 19:50 乡下菜农 阅读(973) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 连接字符串 C 语言实例 C 语言实例 使用 strcat() 连接两个字符串。 实例 #include int main() { char s1[100], s2[100], i, j; printf("输入第一个字符串: "); scanf("%s", s1); printf("输入第二个字符串: "); scanf("... 阅读全文
posted @ 2018-03-09 19:49 乡下菜农 阅读(298) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 删除字符串中的特殊字符 C 语言实例 C 语言实例 删除字符串中的除字母外的字符。 实例 #include int main() { char line[150]; int i, j; printf("输入一个字符串: "); fgets(line, (sizeof line / sizeof line[0]), stdin); ... 阅读全文
posted @ 2018-03-09 19:48 乡下菜农 阅读(1663) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 两个矩阵相加 C 语言实例 C 语言实例 使用多维数组将两个矩阵相加。 实例 #include int main(){ int r, c, a[100][100], b[100][100], sum[100][100], i, j; printf("输入行数 ( 1 ~ 100): "); scanf("%d", &r); print... 阅读全文
posted @ 2018-03-09 19:47 乡下菜农 阅读(3085) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 矩阵转换 C 语言实例 C 语言实例 矩阵转换。 实例 #include int main() { int a[10][10], transpose[10][10], r, c, i, j; printf("输入矩阵的行与列: "); scanf("%d %d", &r, &c); // 存储矩阵的元素 printf("\n输... 阅读全文
posted @ 2018-03-09 19:46 乡下菜农 阅读(1157) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 计算平均值 C 语言实例 C 语言实例 使用数组来计算几个数的平均值。 实例 #include int main() { int n, i; float num[100], sum = 0.0, average; printf("输入元素个数: "); scanf("%d", &n); while (n > 100 || ... 阅读全文
posted @ 2018-03-09 19:45 乡下菜农 阅读(3756) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 字符串翻转 C 语言实例 C 语言实例 使用递归来翻转字符串。 实例 - 字符串翻转 #include void reverseSentence(); int main() { printf("输入一个字符串: "); reverseSentence(); return 0; } void reverseSentence() { ... 阅读全文
posted @ 2018-03-09 19:44 乡下菜农 阅读(293) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 二进制与十进制相互转换 C 语言实例 C 语言实例 二进制转与十进制相互转换。 实例 - 二进制转换为十进制 #include #include int convertBinaryToDecimal(long long n); int main() { long long n; printf("输入一个二进制数: "); scanf("%l... 阅读全文
posted @ 2018-03-09 19:43 乡下菜农 阅读(2507) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 计算 int, float, double 和 char 字节大小 C 语言实例 C 语言实例 使用 sizeof 操作符计算int, float, double 和 char四种变量字节大小。 sizeof 是 C 语言的一种单目操作符,如C语言的其他操作符++、--等,它并不是函数。 sizeof 操作符以字节形式给出了其操作数的存储大小。 实例 #include ... 阅读全文
posted @ 2018-03-09 19:42 乡下菜农 阅读(1953) 评论(0) 推荐(0) 编辑
摘要:C 语言实例 - 字符转 ASCII 码 C 语言实例 C 语言实例 ASCII 定义了 128 个字符。 分类: 一:0-31、127(删除键)是控制字符 二:空白字符:空格(32)、 制表符、 垂直制表符、 换行、 回车。 三:可显示字符:a-z、A-Z、0-9、~、!、@、、%、^、&、#、$、*、(、)、-、+、{、}、[、]、'、"、、,、?、/、|、\、_、:、;、.,还有顿号、。 ... 阅读全文
posted @ 2018-03-09 19:40 乡下菜农 阅读(1622) 评论(0) 推荐(0) 编辑
摘要:C 命令行参数 执行程序时,可以从命令行传值给 C 程序。这些值被称为命令行参数,它们对程序很重要,特别是当您想从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。 命令行参数是使用 main() 函数参数来处理的,其中,argc 是指传入参数的个数,argv[] 是一个指针数组,指向传递给程序的每个参数。下面是一个简单的实例,检查命令行是否有提供参数,并根据参数执行相应的... 阅读全文
posted @ 2018-03-09 19:38 乡下菜农 阅读(153) 评论(0) 推荐(0) 编辑
摘要:笔记列表 一、可变参数 #include void debug_arg(unsigned int num, ...) { unsigned int i = 0; unsigned int *addr = # for (i = 0; i ; #include ; #includ... 阅读全文
posted @ 2018-03-09 19:37 乡下菜农 阅读(148) 评论(0) 推荐(0) 编辑
摘要:C 可变参数 有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数。C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数。下面的实例演示了这种函数的定义。 int func(int, ... ) { . . . } int main() { func(2, 2, 3); func(3, ... 阅读全文
posted @ 2018-03-09 19:35 乡下菜农 阅读(139) 评论(0) 推荐(0) 编辑
摘要:C 强制类型转换 强制类型转换是把变量从一种类型转换为另一种数据类型。例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型,如下所示: (type_name) expression 请看下面的实例,使用强制类型转换运算符把一个整数变量除以另一个整数变量,得到一个浮点... 阅读全文
posted @ 2018-03-09 19:21 乡下菜农 阅读(11581) 评论(0) 推荐(1) 编辑
摘要:C 头文件 头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享。有两种类型的头文件:程序员编写的头文件和编译器自带的头文件。 在程序中要使用头文件,需要使用 C 预处理指令 #include 来引用它。前面我们已经看过 stdio.h 头文件,它是编译器自带的头文件。 引用头文件相当于复制头文件的内容,但是我们不会直接在源文件中复制头文件的内容,因为这么做... 阅读全文
posted @ 2018-03-09 19:20 乡下菜农 阅读(193) 评论(0) 推荐(0) 编辑
摘要:笔记列表 使用#define含参时,参数括号很重要,如上例中省略括号会导致运算错误: #include #define square(x) ((x) * (x)) #define square_1(x) (x * x) int main(void) { printf("square 5+4 is %d\n", squa... 阅读全文
posted @ 2018-03-09 19:19 乡下菜农 阅读(172) 评论(0) 推荐(0) 编辑
摘要:C 预处理器 C 预处理器不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器(C Preprocessor)简写为 CPP。 所有的预处理器命令都是以井号(#)开头。它必须是第一个非空字符,为了增强可读性,预处理器指令应从第一列开始。下面列出了所有重要的预处理器指令:... 阅读全文
posted @ 2018-03-09 19:18 乡下菜农 阅读(284) 评论(0) 推荐(0) 编辑
摘要:C文件读写 上一章我们讲解了 C 语言处理的标准输入和输出设备。本章我们将介绍 C 程序员如何创建、打开、关闭文本文件或二进制文件。 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节。C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件。本章将讲解文件管理的重要调用。 打开文件 您可以使用 fopen( ) 函数来创建一个新的文件或者打开一个已... 阅读全文
posted @ 2018-03-09 19:16 乡下菜农 阅读(146) 评论(0) 推荐(0) 编辑
摘要:C 输入 & 输出 当我们提到输入时,这意味着要向程序填充一些数据。输入可以是以文件的形式或从命令行中进行。C 语言提供了一系列内置的函数来读取给定的输入,并根据需要填充到程序中。 当我们提到输出时,这意味着要在屏幕上、打印机上或任意文件中显示一些数据。C 语言提供了一系列内置的函数来输出数据到计算机屏幕上和保存数据到文本文件或二进制文件中。 标准文件 C 语言把所有的设备都当作文件。所以... 阅读全文
posted @ 2018-03-09 19:14 乡下菜农 阅读(379) 评论(0) 推荐(0) 编辑
摘要:C 递归 递归指的是在函数的定义中使用函数自身的方法。 举个例子: 从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?"从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?'从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?……'" 语法格式如下: void recursion() { st... 阅读全文
posted @ 2018-03-09 19:10 乡下菜农 阅读(140) 评论(0) 推荐(0) 编辑
摘要:C typedef C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字。下面的实例为单字节数字定义了一个术语 BYTE: typedef unsigned char BYTE; 在这个类型定义之后,标识符 BYTE 可作为类型 unsigned char 的缩写,例如: BYTE b1, b2; 按照惯例,定义时会大写字母,以便提醒用户类型名称是一个象征性的缩... 阅读全文
posted @ 2018-03-09 19:09 乡下菜农 阅读(119) 评论(0) 推荐(0) 编辑
摘要:函数指针 函数指针是指向函数的指针变量。 通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。 函数指针可以像一般函数一样,用于调用函数、传递参数。 函数指针变量的声明: typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型 实例 以下实例声明了函数指针变量 p,指向函数 max: 实例 #in... 阅读全文
posted @ 2018-03-09 19:00 乡下菜农 阅读(141) 评论(0) 推荐(0) 编辑
摘要:笔记列表 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。 要理解指针就要先理解计算机的内存。计算机内存会被划分为按顺序编号的内存单元。每个变量都是存储在内存单元中的,称之为地址。 #include int main () { ... 阅读全文
posted @ 2018-03-09 18:32 乡下菜农 阅读(336) 评论(0) 推荐(0) 编辑
摘要:C 指针 学习 C 语言的指针既简单又有趣。通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C 程序员,学习指针是很有必要的。 正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址: 实例 #includ... 阅读全文
posted @ 2018-03-09 18:00 乡下菜农 阅读(168) 评论(0) 推荐(0) 编辑
摘要:同样地,对指针进行递减运算,即把值减去其数据类型的字节数,如下所示: #include const int MAX = 3; int main () { int var[] = {10, 100, 200}; int i, *ptr; /* 指针中最后一个元素的地址 */ ptr = &var[MAX-1]; for ( i = MAX; i > 0;... 阅读全文
posted @ 2018-03-09 17:44 乡下菜农 阅读(136) 评论(0) 推荐(0) 编辑
摘要:指针可以用关系运算符进行比较,如 ==、。如果 p1 和 p2 指向两个相关的变量,比如同一个数组中的不同元素,则可对 p1 和 p2 进行大小比较。 下面的程序修改了上面的实例,只要变量指针所指向的地址小于或等于数组的最后一个元素的地址 &var[MAX - 1],则把变量指针进行递增: #include const int MAX = 3; int main () { int... 阅读全文
posted @ 2018-03-09 17:44 乡下菜农 阅读(1117) 评论(0) 推荐(0) 编辑
摘要:我们喜欢在程序中使用指针代替数组,因为变量指针可以递增,而数组不能递增,因为数组是一个常量指针。下面的程序递增变量指针,以便顺序访问数组中的每一个元素: 阅读全文
posted @ 2018-03-09 17:43 乡下菜农 阅读(247) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示