日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

总结了一些指针易出错的常见问题(二)

發布時間:2024/4/14 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 总结了一些指针易出错的常见问题(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

4.指針與數組

  ?一些常見的錯誤觀點是數組和指針是完全可以互換的。盡管數組名字有時候可以當指針來使用,但是數組的名字不是指針。

  數組是能用索引訪問的同質元素連續集合。(連續是指數組的元素在內存中是相鄰的,中間不存在空隙同質是指元素是同一類型)

  指針在處理數組時很有用,既可以用指針指向已有的數組,也可以從堆上分配內存然后把這塊內存當做一個數組使用。

  數組/指針表示法

  給數組地址加1實際加了4,也就是整數的長度。

#include<iostream> using namespace std; int main() {int vector[5]={1,2,3,4,5};int *pv=vector;int value=4;for(int i=0;i<5;i++){*pv++ *=value;}pv=vector;for (int i=0;i<5;i++)cout<<*(pv+i)<<endl;}

  指針和數組的區別

int vector[5]={1,2,3,4,5};int *pv=vector;

  vector[i]生成的代碼和*(vector+i)生成的不一樣,vector[i]表示法生成的機器碼從位置vector開始,移動i個位置,取出內容。而*(vector+i)表示法生成的機器碼則是從vector開始,在地址上增加i,然后取出這個地址中的內容。

  sizeof操作符對數組和同一個數組的指針操作也是不同的。

  sizeof(vector)=20; ?//數組分配的字節數

  sizeof(pv)=4; ? ? ? ? ? //指針長度

  如果從堆上分配內存并把地址賦給一個指針,那就肯定可以對指針使用數組下標并把這塊內存當成一個數組。

int *pv=(int*) malloc(5*sizeof(int));for(int i=0;i<5;i++){pv[i]=i+1;}
/
  for(int i=0;i<5;i++)
{
  *(pv+i)=i+1;
}

轉載于:https://www.cnblogs.com/iloverain/p/5582739.html

總結

以上是生活随笔為你收集整理的总结了一些指针易出错的常见问题(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。