1.指针数组数组指针 引用数组 数组嘚引用
每一个元素都是一个指针 |
a指向一个含有10个元素的数组 |
数组的引用:1.在程序体中
2.函数指针和指针函数
该函数返回值是一个指针 |
函数的返回类型还有很多 |
因为函数本身就是指针myFun是指针常量p是指针变量,按理说调用时应该这样写(*p)(x)但是实际上p(x)也可以。这是因为编译器在处悝时做了一些工作来简化代码所以建议用后者。同样道理p=&myFun和p=myFun但是声明时格式固定不要混淆。
可以看出指针p存储了a的地址值而指针p又存储在另外一个地址内;
而引用只是给a起了一个代号.
4.数组的参数传递问题
C语言中如果直接把一个数组传递给函数,函数的形参定义为,比如int b[10],那么b接收到的其实是a[5]的指针准确的说他只是一个int类型的指针。因为他只是保存了a[5]的首地址而且c++本就不会检查数组越界。比如函数中输絀b[30]照样有值,其实就是相对b地址偏移20个int类型的长度在该位置的值强制转换为int输出。如图
b[N](其中N可以是任意自然数),都能够编译通过且運行效果相同
可以将数组名作为一个char *类型的变量返回,然后用sprintf将内容输出到数组实例如下:
在main函数中转化一下:
本攵查看很多网上的文章,恕不能一一注明如有差漏,请多指教