18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數組名是不是指針

學益得智能硬件 ? 來源:學益得智能硬件 ? 2023-06-25 17:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數組到底是不是指針?這個問題隔三岔五就會被問一遍。其實只要搞清楚他們的原理,并且能熟練的使用,完全沒有必要糾結這個問題。

數組是內存中的一塊連續(xù)內存,之所以他能跟指針扯上關系,是因為數組名表示了數組第一個元素的地址,于是很多同學就認為數組名是指針。

準確的講,數組名也只是個標識符,方便用戶使用罷了。

把它理解成地址常量更合適一些。

所以對數組名加加這個操作,編譯器是不允許的。

int array[5] = {1, 2, 3, 4, 5};
array++;
但是訪問元素的時候,只要你不去修改數組名,用起來跟指針沒什么區(qū)別。
int array[5] = {1, 2, 3, 4, 5};
*(array + 1);

指針在計算機里面也是一塊內存,不過只是一個單獨的元素,不像數組,可以由多個元素組成。一般占4字節(jié)或者8字節(jié)。它里面保存的是其他內存的地址。

所以指針用起來就比較靈活,在合法的情況下,可以來回移動。

如果現在有個數組,把數組第一個元素的地址保存在指針里面,那訪問數組元素既可以用取值的方式,又可以用數組下標的方式。
int array[5] = {1, 2, 3, 4, 5};
int*p=array;
p[1];
*(p + 1);

總結一下,數組和指針是兩個不同的東西,嚴格來講,不能把數組等同于指針,包括數組名,也不能等價于指針,只是很多場景下,他們可以互相表示。

作為初學者,我也不太建議去糾結這樣的問題,這個問題也只有在面試的時候會遇到,學習的時候,把他們原理搞清楚,能正確的使用數組名或者指針去訪問數據,也就足夠了。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 內存
    +關注

    關注

    8

    文章

    3159

    瀏覽量

    75963
  • 指針
    +關注

    關注

    1

    文章

    484

    瀏覽量

    71621
  • 數組
    +關注

    關注

    1

    文章

    420

    瀏覽量

    27052

原文標題:數組名是不是指針

文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    C語言數組名指針

    指針是C/C++語言的特色,而數組名指針有太多的相似,甚至很多時候,數組名可以作為指針使用。于是乎,很多程序設計者就被搞糊涂了。而許多的大
    發(fā)表于 08-27 17:48 ?968次閱讀

    C語言中指針數組數組指針的區(qū)別

    指針數組之間存在著緊密的關系。在本文中,我們將探討指針數組的關系、指針算術和數組遍歷、多維
    發(fā)表于 08-17 15:29 ?715次閱讀

    從編譯器角度分析C語言中數組名指針的區(qū)別

    。也許這樣的聲明可以編譯通過(在gcc下通過了),但是把一個數組名當成一個指針來使用,別指望它能運行起來。第二,指針是一個變量,而數組名不是
    發(fā)表于 06-23 23:36

    C語言——指針、數組和函數

    C語言——指針、數組和函數基本解釋   1、指針的本質是一個與地址相關的復合類型,它的值是數據存放的位置(地址);數組的本質則是一系列的變量。   2、
    發(fā)表于 04-20 15:25

    指針數組數組指針的區(qū)別

    這里我們區(qū)分兩個重要的概念:指針數組、數組指針。
    的頭像 發(fā)表于 06-29 15:30 ?2.1w次閱讀
    <b class='flag-5'>指針</b><b class='flag-5'>數組</b>和<b class='flag-5'>數組</b><b class='flag-5'>指針</b>的區(qū)別

    理解函數指針、函數指針數組、函數指針數組指針

    理解函數指針、函數指針數組、函數指針數組指針
    的頭像 發(fā)表于 06-29 15:38 ?1.5w次閱讀
    理解函數<b class='flag-5'>指針</b>、函數<b class='flag-5'>指針</b><b class='flag-5'>數組</b>、函數<b class='flag-5'>指針</b><b class='flag-5'>數組</b>的<b class='flag-5'>指針</b>

    C語言中指針數組

    #define SIZE 10int arry[SIZE]={0,1,2,3,4,5,6,7,8,9}; //數組名arry表示數組首元素的地址*int p,temp;//可直接初始化定義指針
    發(fā)表于 01-13 13:11 ?3次下載
    C語言中<b class='flag-5'>指針</b>與<b class='flag-5'>數組</b>

    C語言指針數組的區(qū)別

    在C語言教程中我們使用通過數組名通過偏移和指針偏移都可以遍歷數組,那么指針數組到底有什么區(qū)別??
    的頭像 發(fā)表于 07-18 16:29 ?2478次閱讀

    二維數組數組指針以及指針數組

    二維數組數組指針以及指針數組
    的頭像 發(fā)表于 08-16 09:02 ?3415次閱讀

    C語言數組元素的指針

    C語言調用函數時虛實結合的方法都是采用“值傳遞”方式,當用變量名作為函數參數時傳遞的是變量的值,當用數組名作為函數參數時。 由于數組名代表的是數組元素地址,因此傳遞的值是地址,所以要去形參為
    的頭像 發(fā)表于 03-10 14:45 ?1385次閱讀

    C++數組名數組拷貝詳解

    C++數組間賦值不能直接通過數組名稱 randy = sesame進行,因為數組名不是指針,大部分情況下,編譯器會隱式轉換為指向
    發(fā)表于 08-21 15:09 ?764次閱讀
    C++<b class='flag-5'>數組名</b>和<b class='flag-5'>數組</b>拷貝詳解

    數組指針不能混用的情況

    指針的基本概念。數組是一組相同類型的元素的集合,而指針是一個變量,它存儲了一個地址,該地址指向內存中的某個位置。在 C/C++ 中,數組名稱可以當作指向
    的頭像 發(fā)表于 12-07 13:46 ?1120次閱讀

    數組指針不相同嗎?數組指針有哪些區(qū)別

    數組就是指針指針就是數組,這樣的言論在評論區(qū)看到不下于10次。
    的頭像 發(fā)表于 12-13 16:34 ?2317次閱讀
    <b class='flag-5'>數組</b>和<b class='flag-5'>指針</b>不相同嗎?<b class='flag-5'>數組</b>和<b class='flag-5'>指針</b>有哪些區(qū)別

    面試常考+1:函數指針指針函數、數組指針指針數組

    在嵌入式開發(fā)領域,函數指針、指針函數、數組指針指針數組是一些非常重要但又容易混淆的概念。理解它
    的頭像 發(fā)表于 08-10 08:11 ?1757次閱讀
    面試常考+1:函數<b class='flag-5'>指針</b>與<b class='flag-5'>指針</b>函數、<b class='flag-5'>數組</b><b class='flag-5'>指針</b>與<b class='flag-5'>指針</b><b class='flag-5'>數組</b>

    數組名之間可以直接賦值嗎

    ; ????return 0;} 想把數組 a 里面的數據全部賦值給 b,寫成 b = a 行不行? 和這個問題類似的還有,數組名為什么不能進行 ++ 操作? char?array[5]?=?{0};array++; 比如
    的頭像 發(fā)表于 11-26 11:23 ?836次閱讀