
C语言学习
const
温故知新,月末回首
展开
-
理解指针,*p,p=&c
char c='a',*p;变量c的类型是char,它的初始值为'a'。变量p是个char类型的指针。p=&c;符号“&”是取地址操作符。表达式&c的值就是变量c在内存中的地址。c的地址被赋值给p。我们可以看成是p指向c。printf("%c,%c",*p,*p+1);格式‘“%c”用于把表达式按照字符的形式进行打印。符号“*”表示间接访问操作符。表达式*p的值就是p所指向的对原创 2017-12-23 10:42:14 · 916 阅读 · 0 评论 -
C语言学习之指针
指针的概念普通变量必须先定 义后引用,例如定义整型变量x通过“int x;"实现,变量名x就代表变量本身。因此在引用变量时,可以直接访问变量,例如给变量x赋值10,可通过语句“x=10;"实现。此种访问变量的方式被称为“直接访问”。还有一种访问方式,即“间接访问”。如下图所示,变量p的值是“&x”即变量x的内存地址,因此通过变量p可以找到内存中的变量x(如图中的箭头示意),对变量p...原创 2019-09-09 20:50:16 · 730 阅读 · 0 评论 -
C语言学习之数组
一维数组的定义方式:数据类型 数组名[整型常量表达式]注意:方括号中只能是常量表达式,不能使用变量。常量表达式的值表示数组最多能存放的元素的个数,也称为数组的大小数组所占总字节数=sizeof(数据类型)*数组大小int k=5;float c[k]; 不合法,k是变量#define M 20int num[M]; //合法,M是编译预处理命令define定义的符号常...原创 2019-09-09 20:49:48 · 554 阅读 · 0 评论 -
C语言学习之基本语法三
int f(int a,int b){ float c; c=a+b; return c;} 关于函数需要说明的是,假如返回变量的类型与函数类型不一致时,返回时系统会自动进行类型转换,以函数返回值的类型为最终结果,即例题中会将变量c的值转换成整型返回,变量c本身的类型不变。 如果函数是缺省的,系统规定默认为int型。 调用语句中出现的参数称为实参,...原创 2019-09-09 20:49:40 · 892 阅读 · 0 评论 -
C语言学习之结构体
结构体类型的定义结构体类型由不同的数据类型的数据组成,这些数据称为该结构体类型的成员项。在程序中使用结构体时,必须先定义结构体类型。结构体定义的格式:struct 结构体类型名{ 数据类型 成员名1; 数据类型 成员名2; ………………};说明:(1)struct是定义“结构体类型”的关键字,其后的“结构体类型名”由程序员命名:(2)其中...原创 2019-09-09 20:51:01 · 1997 阅读 · 0 评论 -
C语言学习之基础语法二
数据的输入和输出1、字符输入函数字符输入函数(getchar函数)是从标准输入设备上输入一个字符到计算机内部。函数调用格式:getchar();说明:须包含头文件stdio.h getchar是一个无参函数 一个getchar函数只能接收一个字符,在输入时,只有在用户键入“回车键”(Enter)后,输入才执行。2、字符输出函数字符输出函数(putchar)是在标...原创 2019-09-09 20:48:34 · 1023 阅读 · 0 评论 -
C语言学习之基础语法
一、数据类型1、整型十进制整型常量:0~9,如-56 八进制整型常量:0~7;以数字0开头,如-034,045 十六进制整型常量:0~9,A~F或a~f;以数字0开头加上字母x开头, 如-0xFF2、字符型字符常量:用单引号括起来的单个可视字符或转义字符,在内存中占一个字节的存储空间,存放的是其ASCII码值,如'a','S',a的ASCII码值为97,字符‘A’的ASCII...原创 2019-09-09 20:49:30 · 299 阅读 · 0 评论 -
没有找到libmysql.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题
解决办法:1.将C:\mysql\lib\opt目录下的libmysql.dll拷贝到 C:\WINDOWS\system32目录下(假若没有WINDOWS文件夹,可能系统默认文件夹隐藏,取消 隐藏即可)2.将libmysql.dll拷贝到.exe所在的文件下3.将exe所在目录下的libmysql.dll拷贝到C:\WINDOWS\system32目录下...转载 2019-01-02 19:03:56 · 1962 阅读 · 0 评论 -
C语言连接mysql数据库,实现通讯录的功能,进行增删改查
① 实现通讯录的信息中包括姓名、电话号码、地址、邮箱等数据项。② 支持从文件读入通讯录③ 插入、删除、修改通讯录记录④ 可按姓名或电话号码对通讯录进行排序⑤ 查询通讯录记录,可按姓名和电话号码查询代码下载点击打开链接‘出现的错误:没有找到libmysql.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题 注意需要设置vc++的部分 ...原创 2018-05-19 20:23:53 · 2526 阅读 · 0 评论 -
C语言实现通讯录,对通讯录增删改查
① 实现通讯录的信息中包括姓名、电话号码、地址、邮箱等数据项。② 支持从文件读入通讯录③ 插入、删除、修改通讯录记录④ 可按姓名或电话号码对通讯录进行排序⑤ 查询通讯录记录,可按姓名和电话号码查询#include<stdio.h> #include<stdlib.h> #include<string.h> #include <WinSock2....原创 2018-05-19 12:56:41 · 8480 阅读 · 2 评论 -
scanf("%*s");
scanf("%*s"),其中*是表示输入的"以空格符结束的字符串"不传入任何变量,也就是舍弃的意思,因为这里sanf函数读入的是不正确的数据,当然就需要舍弃了,以免影响下一次的读入...原创 2018-03-04 23:21:27 · 1297 阅读 · 0 评论 -
什么是宏定义?
1.不带参数的宏定义: 宏定义又称为宏代换、宏替换,简称“宏”。格式:#define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”。预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。即在对相关命令或语句的含义和功能作具体分析之前就要换:例:#def...原创 2018-03-04 21:32:42 · 47238 阅读 · 1 评论 -
vc6.0出现的一些错误
syntax error : missing ';' before identifier 'O'语法错误,标识符错误,检查#define定义是否出错'bad suffix on number'的意思是数字的下标错误1: Ambiguous operators need parentheses — 不明确的运算需要用括号括起2: Ambiguous symbol xxx — 不明确的符号3: Arg...原创 2018-03-04 21:30:40 · 2207 阅读 · 1 评论 -
作用域规则
每个代码块都有自己的命名规则。外层代码块的名字总是有效的,除非内层的代码块对它进行了重新定义。如果内层代码块的名字进行了重新定义,那么在这个内层代码块中,外层代码块的名字被隐藏或屏蔽。代码块可以嵌套多层,其深度取决于系统限制。#include int main(){ int a=1,b=2,c=3; printf("%3d%3d%3d\n",a,b,c);原创 2018-01-04 00:31:31 · 393 阅读 · 0 评论 -
函数调用和传值调用
在使用函数时,所有的实参都是通过“传值”方式传递的。这意味着每个实参都被求值,求值结果代替对应的形式参数,并且在函数中作为局部变量使用。如果一个变量传递给一个函数,这个变量在调用环境中所存储的值并不会被函数所修改。#include int compute_sum(int n);int main(void){ int n=3,sum; printf("%d\n",n);原创 2018-01-01 23:51:04 · 511 阅读 · 0 评论 -
数组和指针
char *p,s[100];这条语句把标识符p声明为char类型的指针,把标识符s声明为包含100个元素的char类型的数组。由于数组名本身也是个指针,因此p和s都是char类型的指针。但是,p是个指针变量,而s是个指向s[0]的指针常量。注意,表达式++p可以对p进行增值,但由于s是个指针常量,因此表达式++s是错误的。s的值无法进行修改。下面两个表达式是等价的。s[i]和*(s+原创 2017-12-23 11:02:45 · 222 阅读 · 0 评论 -
C语言学习之文件
文件是指存储在计算机外部介质上的一组数据的集合。所谓外部存储介质,例如移动硬盘、计算机硬盘、光盘等等。计算机操作系统也是以文件作为基本的操作单位。我们前面编写的程序在运行时,程序中定义的变量或程序的运行结果都是暂时保存在计算机内存空间的,一旦程序运行结束,这些数据所用的空间就会被释放,换句话说这些数据也就消失了。对于需要长期保存的数据,必须以文件的形式存储在外部存储介质上。 每种高级...原创 2019-09-09 20:51:14 · 845 阅读 · 0 评论