C语言指针类型,什么是c语言里面的指针数据类型

1,什么是c语言里面的指针数据类型就是说某个变量是指针类型的啊,例如int *a;就是说指针变量a指向一个整型变量在内存中的位置,并代表这个整型变量去参加一系列运算 。指针 存放地址指针类型不是基本数据类型,而是复合数据类型,同样的还有数组类型 。
2 , c语言指针型指针#include<stdio.h>#include<string.h>void main() char *a[5]; a[0]="waht"; a[1]="idjfkd"; a[2]="kldfji"; a[3]="qweoipp"; a[4]="cxfvi"; for(int i=0;i<5;i++)for(int j=i+1;j<5;j++)if(strcmp(a[j],a[j-1])>0)char *temp=a[j-1];a[j-1]=a[j];a[j]=temp;}} for(i=0;i<5;i++)printf("%s\n",a[i]);}#include<stdio.h>#include<string.h>void main()char *a[5];a[0]="waht";a[1]="idjfkd";a[2]="kldfji";a[3]="qweoipp";a[4]="cxfvi";for(int i=0;i<5;i++)for(int j=i+1;j<5;j++)if(strcmp(a[j],a[j-1])>0)char *temp=a[j-1];a[j-1]=a[j];a[j]=temp;}}for(i=0;i<5;i++)printf("%s\n",a[i]);}
3 , 如何理解c语言指针的类型和指针指向的类型请举例谢谢void指针可以指向任意类型的数据,包括函数指针 , 亦即可用任意数据类型的指针对void指针赋值 。例如:int * pint;void *pvoid;pvoid = pint; /* 不过不能 pint= pvoid; */如果要将pvoid赋给其他类型指针,则需要强制类型转换如:pint= (int *)pvoid;例如:int a,*p; p=&a;float x,*q; q=&x;此处定义p为指向int型的指针变量,只能存储int型变量的地址 。定义q为指向float型的指针变量 , 只能存储float型变量的地址 。int *p; //p是一个指针,指向int型的数据,所以p指向的类型是int型我是这样理解的,仅供参考而已(答案原创,绝不是复制粘贴):【值】是船长 。【变量】是船名,如:泰坦尼克号 。【地址】就是船的编号(不能重复),假设【泰坦尼克号】是【01】号船 。【指针】是一艘【无人驾驶的,不载人的船】,船上只有【一块巨大的告示牌】 , 上面写着:“请登上01号船,此船不载人,谢谢合作!”得出的结论:1.【指针】和【变量】都是船,所以,指针也是变量 。2.【指针】的类型就是【告示牌】的【信息内容】的类型,只能写 告诉客人去的地方必须是 【可载人的船】(不能在告示牌上写广告之类的 , 呵呵) 。3. 【指针 指向的 类型】就是【可载人的船】的类型,如:豪华巨轮 。例如:inta;//a 是一个变量,可载人的船int * p;//声明从这行开始,下面代码中凡是出现的 p 就代表指针【p是告示牌】 。*p=1;//【*p】不是指针,是指【告示牌】说的要登录的船上的【船长】 , 也就是值 。p=&a;//单独一个【p】,才表示指针 。int*p;这样写 , 让*跟类型int写在一起就容易看出来了 。p是指针,类型是 int*  , p指向的数据类型(去掉*)是int。【C语言指针类型,什么是c语言里面的指针数据类型】
4,C语言问题 什么事指针类型指针类型基本类型指针数组指针指针,数组指针数组指针:为指向数组的指针 。例如:int a[5],*p1; char c[6]="hello", *p2;p1=a;p2=c; 结构体指针结构体,结构体指针在计算机系统中每一个数据均需要占用一定的内存空间 , 而每段空间均有唯一的地址与之对应,因此在计算机系统中任意数据均有确定的地址与之对应 。C语言中,为了描述数据存放的地址信息,引入指针变量 。本节将描述结构体类型指针变量 。void指针指针,void型指针变量指针变量也可以定义为void型 。例如:void p;这里p仍然是一个指针变量,有自己的内存空间 , 占用4个字节(VC++环境) 。但是不指定p指向哪种类型的变量 。注意:在这种情况下,如果对指针变量进行加法或减法就会导致编译错误 , 指针类型指针指针,指针的指针指针的指针(多重指针):指向指针的指针,用于存放某个指针变量的地址 。形式如 int **p; 等效于 int *(*p);*p等于p间接指向的对象的地址 。函数指针指针,函数指针函数指针:可以用指针变量指向一个函数 。一个函数在编译时被分配给一个“入口地址” 。例如:有函数fun(a,b)若令p=fun; 则有(*p)(a,b)?相当于? fun(a,b);即(指针)变量中存放的是地址可以通过访问这个(指针)变量中的地址值来访问这个变量的值指针在数组中非常有用指针类型是一种地址类型 , 通常用“*”或“->”表示!指针类型就是一种可东台分配储存空间的一种储存变量地址的类型,如:int *p;其中*是一种运算符号 , 表示取消;P是储存地址的,加上*表示取消地址符号,得变量值 。指针类型存放的是别的类型变量的地址,占两个字节 。给个QQ号,我发个PPT给你5,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的话,在前面加个下划线下面的参考资料里面有个例子

    推荐阅读