C语言-指针的学习
来源:互联网 发布:血源武器数据 编辑:程序博客网 时间:2024/06/06 03:15
- 指针
指针是个地址,
指针变量:是存放地址的变量
Int *point1;
定义指针变量时必须指定基类型,用来指定此指针变量可以指向的变量类型,因为不同类型的数据在内存中所占的字节数不同,必须知道数据的类型,才能按存储单元的长度和数据的存储形式正确的取出数据
Int *p; //标示定义了一个指针变量,*标示该变量是指针变量,指向p的指针P=&a;Printf(*p); //标示了指针变量p所指向的变量
1、
Char *string=”I LOVE CHINA”; printf ("%s",string); //通过字符数组名或字符指针可以输出一个字符串;
C语言对字符串常量是按字符数组处理的,这个字符数组没有名字,不能通过数组名,如string[5]引用,只能通过指针引用。此时string[5]的含义是string所指字符后面5个字节的内容,没有意义。
for(p=a;p<(a+10);p++){ //p++是指向下一个元素,增加了一个元素的字节printf("%c",*p);}
2、
int a[10]={1,3};printf("%d",a); //错误的 ,对于一个数值型数组,是不能通过数组名输出它的全部元素的。
3、
char *p="school";char c[]="go to ";//c="21"是错误的;可以在定义的时候对数组赋初值,但不能用赋值语句对数组整体赋值。p=c;//c=p是错误的 ;数组名是个常量,不能对它进行赋值;可以对指针赋值;
- 函数指针 int (* p)(int,int) ;
是函数的入口地址
定义:
int (* p)(int,int) ;//p是指向函数的指针,该函数返回一个整型,;它可以指向函数的类型为整型,且有两个整型参数的函数
使用:
p=max;//如果要用指针调用函数,先使指针指向函数,即将函数的入口地址,赋值给pc=(*p)(a,b);//用该指针变量调用函数的时候,用(*p)代替函数名即可
- 返回指针值的函数 int * p(int,int) ;
返回值的类型为指针类型
- 指针数组 即: int *p[4];其元素均为指针类型(优先级 []>*,*是右结合)
适合于指向若干个字符串
int *p[4]={"adad","ds","a"};int (*p)[4];为 指向 包含4个元素的 一维数组的指针变量
- 指向指针数据的指针 int **p;
- void指针 void *p;
不指向任何类型的数据;在将它赋值给另一类型的指针变量时,由系统对其进行类型转换,使之适合被赋值的变量的类型
int a=2;void *p=&a;printf("%d",*p);//错误;赋值后,p得到a的纯地址,但并不指向a
- int main(int argc,char *argv[])
argc是参数的个数,argv是指针数组;数组中的每个元素指向命令行中的一个字符串
0 0
- C语言-指针的学习
- C语言的指针学习
- C 语言指针,单指针和双指针的学习
- c语言学习,指针函数、函数指针、指针的指针、指向指针数组的指针
- c语言学习,指针函数、函数指针、指针的指针、指向指针数组的指针
- 学习C语言指针
- C语言指针学习
- C语言指针学习
- c语言指针学习
- c 语言指针学习
- C语言指针学习
- C语言指针学习
- C语言指针学习
- C语言学习-指针
- c语言 指针学习
- C语言学习-指针
- 强化C语言的指针类型学习
- 【C语言学习】指针的初始化
- CSDN轻松周赛赛题:能否被8整除
- 贪心字典序最小问题poj3617
- JOOMLA 无限循环中检测到
- (三)线程同步工具集_1---控制线程并发访问一个资源
- js一个括号错位引发的 Uncaught ReferenceError: gritterMsg is not defined
- C语言-指针的学习
- FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
- Hduoj1166 【树状数组】
- atexit()函数 -- 注册终止函数
- poj 1436 线段树 '三元组'个数
- JAVA中获取当前系统时间
- Java的Hashtable的使用
- beginUpdates和endUpdates 实现UITableView的动画块
- .NET面试题(1)