################指向數組的指針##############
數組名是一個指向數組中第一個元素的常量指針
使用數組名作為常量指針是合法的,反之亦然。因此,*(balance + 4) 是一種訪問 balance[4] 數據的合法方式。
一旦您把第一個元素的地址存儲在 p 中,您就可以使用 *p、*(p+1)、*(p+2) 等來訪問數組元素。下面的實例演示了上面討論到的這些概念:
#include <iostream>
using namespace std;
#include <iomanip>
using std::setw;
int main(){
int arr[5] = {11,32,43,54,25};
int *p;
p = arr;
for(int i=0;i<5;i++){
cout << "*(p+" << i << ")=" << *(p+i) << endl;
}
return 0;
}
#################數組作為形參####################
#include <iostream>
using namespace std;
#include <iomanip>
using std::setw;
//double getAverage(int arr[],int);
//double getAverage(int *p,int);
double getAverage(int arr[5],int);
int main(){
int numArr[] = {33,44,55,22,11};
int avg;
avg = getAverage(numArr,5);
cout << avg;
}
double getAverage(int arr[],int size){
int sum = 0;
for(int i=0;i<size;i++){
sum += arr[i];
}
return double(sum/size);
}
################函數返回數組################
注意點:C++ 不支持在函數外返回局部變量的地址,除非定義局部變量為 static 變量。
否則,編譯時報錯如下;
arr.cpp:85:9: warning: address of local variable 'r' returned [-Wreturn-local-addr]
#include <ctime>
#include <cstdlib>
#include <iostream>
using namespace std;
#include <iomanip>
using std::setw;
int * getRandom(){
static int r[10];//local變量必須指定大小
srand(unsigned (time(NULL)));
for(int i=0;i<10;i++){
r[i] = rand();
cout << r[i] << endl;
}
return r;
}
int main(){
int * p;
p = getRandom();
for(int j=0;j<10;j++){
cout << *(p+j) << endl;
}
return 0;
}
- 關于我
- laravel
- quickstart
- quickstart-intermediate
- swoole
- (一)快速起步
- php7
- swoole異步高性能
- 開發中常見問題
- event擴展的安裝
- phptrace
- 用C/C++寫php擴展
- 無聊的筆試題
- rewrite二級目錄轉二級域名
- php多進程
- rpc-yar
- php專家列表
- php守護進程
- php函數防止超時
- php分析報錯信息
- gdb調試php
- php-cli模式
- composer/pear
- 基礎
- sublime+xdebug
- 開啟opcache
- 前端
- js
- linux
- Xshell連接不上Ubuntu解決方式
- xshell
- centos安裝中文輸入
- centos下安裝谷歌瀏覽器
- centos安裝phpstorm
- php7之phpredis安裝
- 磁盤大小
- dns
- TCP/IP協議
- HTTP
- tcpdump
- zbacktrace
- gdb調試php擴展
- lsof
- perf
- lnmp
- first
- 重定向
- echo
- 鍵盤高效操作
- 權限控制
- 進程
- 環境變量
- vi
- 軟件包管理
- 網絡
- 查找文件
- 壓縮
- 正則
- sed/awk
- 編譯程序
- shell腳本
- shell認識
- sh腳本
- sh調試相關
- win共享文件夾給虛擬機
- git
- git的安裝
- 常用命令
- 本地到遠程倉庫
- 遠程到本地倉庫
- 分支管理
- bug分支
- feature
- 標簽
- 多人協作
- FAQ
- C/C++
- 難點
- 修飾符
- 數組
- 字符串
- 指針
- 引用
- 面向對象
- 類訪問修飾符
- 構造函數
- 操作文件
- mysql集群
- 使用navicat操作MySQL數據庫能不能整個數據庫搜索一條數據?
- 幫助的使用
- 存儲引擎的選擇
- 數據類型/字符集
- 索引
- kafka集群
- rabbitmq集群
- (一)初識rabbitmq
- (二)原理
- (三)消息模型
- (四)rabbitmq&php基礎
- (五)持久化&route&指定exchange
- (六)發布訂閱
- (七)route key
- (八)topic
- elasticsearch集群
- (一)服務端搭建
- (二)elasticsearch&php
- (三)head插件
- redis集群
- github
- 設計模式
- createType
- factory_method.php
- abstract_factory.php
- mysql_singleton.php
- builder.php
- prototype.php
- structType
- adapter.php
- 數據結構與算法
- python