OOP 4.21晚 指针知识点

1.读法:int* ptr ptr是一个指针指向整型变量
2.指针类型:指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型;
3.指针所指向的类型:只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型;

[误区]不存在void指针(万能指针?):

不知道指针指向的值占用多少空间!

4.指针本身所占据的内存区(4bit(32位) 8bit(64位)
5.sizeof不能对表达式测内存(如 sizeof(char *np) 编译错误)
6.指针变量作函数参数:

两个例子对比:


输入:3,4
第一个程序输出:4,3
第二个程序输出:3,4 //函数调用结束后释放了内存(未交换)

7.用指针变量作函数形参接受数组地址:数组名作函数参数,传递的是数组首元素的地址;用指针变量作函数形参,也可以接收数组首元素的地址

int a[10],*ptr;
ptr=a;//ptr=&a[0];
*(ptr+n) // a[n]

8.数组指针(行指针) int (*p)[n] p是一个指针指向一个n个元素的整型数组(二维数组)
9.指针数组 int *p[n] n个元素的p指针数组指向整型变量

char *str[4] 等价于char *(str[4])

10.sizeof(array).sizeof(int)---元素个数
11.动态数组(动态内存分配与回收)
C: malloc free (函数)
C++: new delete(运算符)


12.main()函数可以是无有函数,也可以是有参函数

int main(int argc , char * argv[])

猜你喜欢

转载自www.cnblogs.com/lvhang/p/12747763.html
OOP
今日推荐