1 , 什么是c语言里面的指针数据类型就是说某个变量是指针类型的啊,例如int *a;就是说指针变量a指向一个整型变量在内存中的位置 , 并代表这个整型变量去参加一系列运算 。指针 存放地址指针类型不是基本数据类型,而是复合数据类型,同样的还有数组类型 。
2,C语言指针看书指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址 。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区 。我们一起学习好吗?交流才能会的多一些的,我也学到指针 , 也不懂,有点难,迎难而上 , 加油我简单的给你说下指针吧 指针的定义 Ex: /*1*/int * p; int a; p=&a; /*2*/ int a, int * p=&a; //指针初始化 /*指针是存放地址的变量,在定义当中*p是为了说明p是指针,无其他意义,而在使用时若出现*p则为去取容运算符,这是我对指针的理解,呵呵,我也学了不久,加群67546170一起交流吧,欢迎哦O(∩_∩)O~*/你把QQ告诉我,我给你传一本书指针就是一个用于存放变量地址的特殊变量,可以改变它的值,也可以改变他指向的变量的值,比如你要顺序把处理的值保存到一个数组 int buf[64]里面,你就可以定义一个指针int *p;p = &buf[0];i = 64;while(i--) *p++ = func();当指针里面存放的是指针变量的地址,这时就叫做指向指针的指针long **p;long *p1;long k;p1 = &k;p = &p1;指针可以指向数,也可以指向数据结构,也可以指向函数......【c语言指针类型定义,什么是c语言里面的指针数据类型】
3,C语言函数指针定义在最上面加一句这样的定义typedef void*(*pFn)();pFn可以这样理解:首先pFn是一个指针,指针指向一个函数(或者说pFn是一个函数指针),此函数返回一个无类型的指针 。最终定义的变量及函数都是指针罢了 , 不过是指针的类型不同 。所以在编译时会有警告,说指针类型不匹配 。但对于程序来讲 , 都是可以在特定的上下文中使用的 。运行结果是t1,t2交替出现 。其实void也可以换为其它的类型如int, double等 又想到一个很好的办法:这次编译不会有警告,运行也不会出错 。示例代码如下所示#include long t1();long t2();int main(){long(*fn)()= (long (*)()) t1 ;while(1){fn = (long (*)()) fn();}}long t1(){printf("t1\n");return (long)t2 ;}long t2(){printf("t2\n");return (long)t1 ;}在最上面加一句这样的定义 typedef void*(*pFn)(); pFn可以这样理解:首先pFn是一个指针,指针指向一个函数(或者说pFn是一个函数指针),此函数返回一个无类型的指针 。最终定义的变量及函数都是指针罢了,不过是指针的类型不同 。所以在编译时会有警告 , 说指针类型不匹配 。但对于程序来讲,都是可以在特定的上下文中使用的 。运行结果是 t1,t2交替出现 。其实void也可以换为其它的类型如int, double等又想到一个很好的办法: 这次编译不会有警告,运行也不会出错 。示例代码如下所示 #include <stdio.h>long t1(); long t2();int main() {long(*fn)()= (long (*)()) t1 ;while(1){fn = (long (*)()) fn();} }long t1() {printf("t1");return (long)t2 ; }long t2() {printf("t2");return (long)t1 ; }汗,我怎么知道?
4,C语言 文件的指针是什么类型FILE* fpc语言文件类型指针是通过file *fp; 这种形式进行定义的 。关于file结构在vc6中有如下定义:#ifndef _file_definedstruct _iobufchar *_ptr; //文件输入的下一个位置int _cnt; //当前缓冲区的相对位置char *_base; //指基础位置(即是文件的起始位置)int _flag; //文件标志int _file; //文件描述符idint _charbuf; //检查缓冲区状况,如果无缓冲区则不读取int _bufsiz; //文件缓冲区大小char *_tmpfname; //临时文件名 };typedef struct _iobuf file;#define _file_defined#endifc程序用不同的file结构管理每个文件 。程序员可以使用文件,但是不需要知道file结构的细节 。实际上,file结构是间接地操作系统的文件控制块(fcb)来实现对文件的操作的 , 如下图: 上面图中的_file实际上是一个描述符,作为进入打开文件表索引的整数 。文件是存放在物理磁盘上的 , 包括文件控制块(fcb)和数据块 。文件控制块通常包括文件权限、日期(创建、读取、修改)、拥有者、文件大小、数据块信息 。数据块用来存储实际的内容 。当打开一个文件时,程序会将物理磁盘上的文件数据块读入到内存 , 然后通过文件指针的移动读取内存中的文件数据 。相关函数:file *fopen( char *file, char *open_mode ); //打开文件,读文件到内存,返回文件信息结构指针int fread( char s, int size, int num, file *fp ); //按字节读取文件内容到s中int fwrite( char s, int size, int num, file *fp ); //按字节将s地址中的数据写到文件中char *fgets( char *s, int max_size, file *fp); //读一行数据到缓冲区s中int fseek( file *fp, long offset, int whence); //移动文件指针到指定位置void rewind(file *fp); //回到文件头long ftell(file *fp); //得到当前文件偏移位置fclose(fp); //关闭文件,刷新缓存到物理磁盘上FILE *fp = fopen(.....)这个好像是C++的语法,C语言好像不可以这么用在前面加上#include <sys/types.h>#include <sys/stat.h>试试如果用的是VC6的话,在前面加个下划线下面的参考资料里面有个例子
推荐阅读
- 牛柳的做法大全家常菜
- 如何在思科上建立一个服务器? 思科怎么建立一个服务器
- 如何建立一个高效的集团服务器? 集团服务器怎么建立
- 传奇永恒官方
- 有赞微商城 数据分析
- 安装mysql无响应 安装mysql5.1没有响应
- 三次元测量培训班多少钱,哪里有学习三次元测量
- stdlib库函数,c语言中的库函数include有什么功能啊
- mysql数据查询慢 mysqlsum函数查询慢