C
文章平均质量分 67
xuxianmei
这个作者很懒,什么都没留下…
展开
-
13、C语言中动态内存分配与指向它的指针变量
#include #include int main(){ //1、动态分配内存函数 char *p;//p的值是一个随机值(有可能已经被系统占用)。有可能会产生内存冲突。 //malloc默认返回 void *,需要强制转换。 p=(char *)malloc(sizeof(char));//在内存动态分配区分配一个sizeof(char)字节的连续空间,原创 2013-06-06 18:13:29 · 860 阅读 · 0 评论 -
7、C语言中一维数组名与一般指针变量的相似与区别(同理多维)
#include #include #define MAXSIZE 10//数组名与一般指针变量的区别//数组名作为形参,(该数组名仅仅是一个普通的指针变量,不具有常量特性(可自增,自减),也不代表一个数据类型。),但是不影响实参,形参不改变实参的指向。void fun1(int array[],int length)//和普通指针变量完全一样,所以避免混淆,最好使用指针变量作为形参。原创 2013-06-06 18:08:07 · 1328 阅读 · 0 评论 -
10、C语言中指向由M个元素组成的一维数组的指针。
#include #include int main(){ int arr1[4]={32,75,2,10},i=0,j=0; int arr2[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};//相当于3个一维数组组成 int *p1[4];//普通的指针数组。 int (*p2)[4];//指向由4个元素组成的一维数组原创 2013-06-06 18:11:36 · 1613 阅读 · 0 评论 -
14、C语言中的空类型指针
#include #include int main(){ //void * 指针类型:指向空类型或不指向确定的类型数据的指针。 void *p1=NULL; int a=3; p1=&a;//p1得到a的纯地址,但并不指向a,不能通过*p1操作a //printf("p1=%d,*p1=%d\n",p1,*p1);不能使用*p1,会提示出错误。 pr原创 2013-06-06 18:14:03 · 2431 阅读 · 0 评论 -
17、C语言文件及文件操作
C语言的文件操作在C语言中,将所有设备看作是文件,数据从一个文件一个字节一个字节(或字符)传输到另一个文件中去,这叫作流,将所有文件传输称作文件流,这样的文件也叫流式方式。在C语言中文件的分类:二进制式文件和文本文件二进制文件:这种文件在外存和主存上都是以相同的形式存储的,传输时,不需要进行转换直接将内存中的信息写回到外存中去。ASCII文件:这种文件在外存以ASCII原创 2013-06-06 18:16:58 · 691 阅读 · 0 评论 -
18、C语言中预处理及位段
预处理预处理指令并不是真正的C语言,只是嵌入到C语言中的一种处理方式,所以也无须加分号;总共有三种类型的预处理指令:宏定义、文件包含、条件编译一、宏定义1、不带参数的宏定义#define 标识符 字符串如:#define PI 3.14159262、带参数的宏定义#define 标识符(参数表) 字符串如:#define s(a,b) a*b二、文件原创 2013-06-06 18:17:26 · 706 阅读 · 0 评论 -
20、C语言防止重复编译
防止重复编译头文件#ifndef 。。#define 。。源代码#endif或加上#paragram once //需要编译器的支持。原创 2013-06-06 18:18:10 · 1682 阅读 · 1 评论 -
11、C语言中字符数组和指针字符串的指针变量
#include #include //通过指针引用字符串,以及字符数组int main(){ //%c(一般的数据类型如:%d) 对应值。 %s 对应字符串首地址。 char arr_string[]="www.baidu.com";//数组名相当于一个指针常量。指针的值不可以变,值是字符串的首地址。 char *point_string="www.google.原创 2013-06-06 18:12:11 · 1187 阅读 · 0 评论 -
12、C语言。指向(只有一个字符的字符串、字符变量、一个字符)的指针变量的相同与区别
#include #include //指向一个(只有一个字符的)字符串的指针变量,//指向字符变量的指针变量//指向一个字符的指针变量(其实在赋予初值的时候,是直接给指针赋值,确不是指针指向的那段内存,没有初始化的时候,指针值为0,)int main(){ char *p1="A";//相当于 "A\0" 只有一个字符的字符串,和n个字符组成的字符串,操作完全一样。原创 2013-06-06 18:12:51 · 1274 阅读 · 0 评论 -
6、C语言中指向一维数组元素的指针变量
#include #include #define SIZE 10int main(){ int *p1,*p2; int a[SIZE]={5,2,7,4,8,0,4,7,2,9};//数组如果没有初始化,值不确定,只要有一个元素被赋予值。其它没有被赋予值的均被赋予初值0, int i=0; p1=a;//相当于p1=&a[0]; 一维数组的数组名便是这一原创 2013-06-06 18:07:19 · 1282 阅读 · 0 评论 -
4、C语言中 指向指针变量的指针变量
#include #include //指向指针变量的指针变量//释放表示该段内存不再占用,属于空闲状态,有时候存储在这段内存的值,不一定会马上变化. 需要将指针的值清空(只是指针不再指向任何地方)。int *p1,*p2;int **pp1,**pp2;int main(){ int a=10; p1=&a; pp1=&p1; p2=(int *)m原创 2013-06-06 18:05:37 · 1046 阅读 · 0 评论 -
9、C语言中二维数组及数组名及指向二维数组的指针变量
#include #include //与二维数组相关的指针变量([] 比 *优先级高)//在一般指针变量指向二维数组,或者n维数组,要直接操作a[i][j],对指针的操作必须有两个符号(其中不出现&,如果有&则相应的加上* 的个数)://1、两个*//2、两个[]//3、一个* 一个[]//4、有一个*或[ ]代表数组中某个元素的首地址//同理n维,或者就是数组中某些地址而不是数原创 2013-06-06 18:10:43 · 1760 阅读 · 0 评论 -
1、C语言外部说明(变量及函数的作用域扩充)
C语言外部说明(变量及函数的作用域扩充)C习惯编程方式:在.c文件中定义,同名.h文件中声明,需要使用时.c中的程序时,#include 同名.h文件就可以。注:(同名中只是为了程序逻辑清晰,不同名的.c和.h文件也是一样的。)C编译方式:只同时编译.c文件,不会编译.h文件,所以如果需要.h文件的编译,只能包含在.c文件当中去。C外部变量的查找方式:在本项目或工程中的所有文件中去原创 2013-06-06 17:59:40 · 1951 阅读 · 0 评论 -
2、C语言中变量的存储,生存周期,作用范围分类
C语言中变量的存储类别一:按作用域划分1、局部变量:自动局部变量、静态局部变量、寄存器变量。(局部可见性)2、全局变量:静态外部变量、外部变量。(全局可见性)二:按生存周期划分1、动态存储:自动变量、寄存器变量、形式参数。(生存时间只限于其作用范围)2、静态存储:静态局部变量、静态外部变量、外部变量。(生存时间为从定义开始直到程序退出(文件结束)。)三:按变量值存储的位原创 2013-06-06 18:02:32 · 2892 阅读 · 0 评论 -
5、C语言中指针变量当用函数形参
#include #include //指针变量作为函数参数//交换两个指针变量所指对象的值,在函数内部可以修改形参指针变量所指的变量的值,并且影响到实参。void chagetValue(int *p1,int *p2){ int p; p=*p1; *p1=*p2; *p2=p;}//交换两个指针的指向,也是两个指针变量的值(在函数内部修改形原创 2013-06-06 18:06:36 · 1195 阅读 · 0 评论 -
8、C语言中用数组名和指针变量作为形参
#include #include #define MAXSIZE 10//用数组名和指针变量作为形参//一般选择用指针型变量操作,而不用数组名作为形参。原因在数组名和指针变量的区别一文当中。//实现所有元素加1void fun1(int array[],int length){ int i=0; for(;i<length;i++) { (*原创 2013-06-06 18:09:42 · 1830 阅读 · 0 评论 -
15、C语言用户自定义数据类型
C语言用户自定义数据类型一、结构体定义语法:struct [名称]{成员列表;}[变量列表];示例程序:#include #include struct Student{ int age; char *name; char sex;} Davlid={24,"Davlid",'M'};struct{ i原创 2013-06-06 18:14:45 · 4209 阅读 · 0 评论 -
19、C语言小结
一:指数的表示形式如:12.34*103 在C语言中用这种表示:12.34E3 或者12.34e3;二、字符常量字符常量一定是用单撇号括起来的 ‘’,且在存储单元中存储的是ASCII码值其实也是一个对应的整数值。三、转义字符\n:换行,将光标切换到下行的开头\r:回车,将光标切换到本行的开头。\数字:对应的八进制数,最多三个数字\x数字:对应的十六进制数,数原创 2013-06-06 18:17:52 · 811 阅读 · 0 评论 -
3、C语言中一般类型的指针变量细解
#include #include //动态分配内存相关函数所有的头文件。//指针变量其实也是一般的变量(它自己的内存地址也如同其它变量一样,只不过它的值和其它普通变量不一样,是一段内存的首地址),且当指针指向用new malloc动态分配内存时.需要人为的释放free delete等.int *p1;//指针变量自己有固定的内存地址int *p2;void PointerTest();原创 2013-06-06 18:03:30 · 920 阅读 · 0 评论 -
16、C语言指针小结
指针内存中的每一个存储单元(一个字节,或则一个字,这主要视机器系统而别,有时候一个字等于四个字节,有时候等于一个字节),都有一个整数类型的编号,这个编号就是地址,也就是指针。指针在赋值时,切记需要基类型相同一、存储单元的内容和存储单元的地址。数据类型其实就是指明一个数据占用的字节数,那么系统在取这个变量的值的时候,就可以根据首地址,和占用字节数,将这个变量的值完整的取出来。原创 2013-06-06 18:15:57 · 716 阅读 · 0 评论