红客编程首学技术精髓——掌握高级《指针》

一、掌握高级指针

1、int iNumber; // 声明一个整型变量

2、int *iPnumber; // 声明一个指向整型的指针

3、int Func(); // 声明一个函数,返回值是整型

4、int *Func();

// 首先执行函数调用操作符,所以Func是一个函数,返回值类型是一个指向整型的指针

5、int (*Func)();

// 第一个括号意味着Func是一个指针,第二个括号是函数调用,第一个括号迫使间接访问在函数调用之前执行,所以Func是一个函数指针,它所指向的函数返回值是整型

6、int *(*Func)();

// 和上面第五个差不多,但Func所指向的函数返回值是又是一个指向整型的指针,对这个返回值进行间接访问才会得到一个整型值

7、int iArr[]; // 声明iArr是一个整型数组

8、int *iArr[];

// 下标优先级高,所以iArr依然是一个数组,但数组里面的元素类型是指向整型的指针,即指针数组

9、int Func()[]; // Func是一个函数,返回值是个整型数组

10、int (*Func[])()

// 第一个括号内表示Func是一个某类型的指针数组,第二个括号为函数调用,所以Func所表示的指针数组其元素是函数指针,这些函数指针所指向的函数的返回值类型是整型

A、指向函数指针数组的指针

顾名思义,有一个指针指向了一个函数指针数组,那么对这个指针进行间接访问,将会得到一个函数指针数组

int (*Func)();

int (*(*Func)[])();

类似上面:

int *Func[];

int *FFunc;

FFunc=&(*Func);

二、系统开发工程实战

红客编程首学技术精髓——掌握高级《指针》

红客编程首学技术精髓——掌握高级《指针》

加群466572167,群内有视频资料可以学习,提升自己的能力

红客编程首学技术精髓——掌握高级《指针》

红客编程首学技术精髓——掌握高级《指针》

加群466572167,群内有视频资料可以学习,提升自己的能力

红客编程首学技术精髓——掌握高级《指针》

红客编程首学技术精髓——掌握高级《指针》

三、C/C++内存管理

malloc/free分别用于动态内存分配和释放。

malloc会从内存池里提取一块适合的内存(连续的),并返回指向这块内存起始位置的指针,该指针的类型为void*指针(因为malloc不知道你请求的内存需要存储的是什么数据类型),而且这块内存并没有初始化。

new/delete

红客编程首学技术精髓——掌握高级《指针》

学习C语言入手很容易,但是坚持下去就是另一回事了,努力很简单,但是坚持和努力很困难,可以加下我的群466572167,群内有初级的项目,入门的资料也有全套的,也能一起交流学习提升自己的能力,对于有基础的话,群内也有各种项目可以练练手,


分享到:


相關文章: