Linux-C程序设计大全 第4章 指针与字符串

sizeof运算符:得到内置类型的大小(sizeof(int)),得到复合类型的大小

(sizeof(结构体,指针,数组))

数组的指针:int(*p)[10]; p是一个指针,指向一个数组对象。


指针的指针:int *p;int**p;

                                         1.指针作为参数传递
                                函数的调用,实参值拷贝给形参,复制到函数栈帧作为局部变量使用,对参数的修改无法被
                          调用者看见。————经典swap程序。
                           利用指针作为参数传递,不改变局部变量(指针副本)的值,而是改变他们指向的内容。可以被
                           调用者看见。Most important 如果需要改变指针的值,传递的应该是指针的指针。
 
                         2.指针类型的意义
                                  指针本质:一个无符号的整型,代表一个内存单元的单元号。
                             既然是一个整数,是否可以将指针p与整数进行比较?可以,但是需要将整型先转换为指针,
                              NULL不是一个关键字,而是定义在stdio.h中的宏,#define NULL (void*)0, NULL是一个常数0,
                              代表0号存储单元。
                            定义指针通常需要定义其指向的数据的类型。int* or double* or char*
                             void*型指针指向任意一个类型的内存单元。引用该指针所指向的数据,会发生编译错误。
                              经典利用 void *p; p=malloc(sizeof(int));p=(int*)p;

函数的指针:int (*p)();

                      函数指针经典应用———回调函数(泛型算法)

                               int(*f[10])(int,int)//函数指针数组,f是一个数组,数组里有10个函数指针,指向返回值为int,

                                参数为int,int的函数。
                可以构造函数指针指向这个函数,来进行调用。
    
                                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值