国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)組名之間可以直接賦值嗎

學(xué)益得智能硬件 ? 來源:學(xué)益得智能硬件 ? 2024-11-26 11:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)組之間的賦值能不能直接使用等于號?比如這樣的代碼。

int main()
{
    int a[5] = {1, 2, 3, 4, 5}; 
    int b[5] = {0};


    b = a;
    
return 0;
}

想把數(shù)組 a 里面的數(shù)據(jù)全部賦值給 b,寫成 b = a 行不行?

和這個(gè)問題類似的還有,數(shù)組名為什么不能進(jìn)行 ++ 操作?

chararray[5]={0};
array++;

比如這樣的表達(dá)式,array++ 在編譯的時(shí)候就會提示錯(cuò)誤:

root@Turbo:~# gcc test.c -o test
test.c: In function ‘main’:
test.c:18:11: error: assignment to expression with array type
   18 |         b = a;
      |           ^
test.c:22:14: error: lvalue required as increment operand
   22 |         array++;
      |              ^~
root@Turbo:~#

需要一個(gè)左值作為操作數(shù),換句話說,數(shù)組名不能作為左值。

關(guān)于數(shù)組名,官方的解釋是:

/*
 * Except when it is the operand of the sizeof operator, or typeof 
 * operators, or the unary & operator,or is a string literal used 
 * to initialize an array, an expression that has type "array of 
 * type" is converted to an expression with type "pointer to type" 
 * that points to the initial element of the array object and is not
 * an lvalue. If the array object has register storage class, the be
 * havior is undefined.
 * */

除了跟 sizeof、typeof、& 這些運(yùn)算符一起使用,數(shù)組類型通常被轉(zhuǎn)換成指針類型,指向數(shù)組的第一個(gè)元素,并且它不能作為左值,不能作為左值,也就是不能被修改。

其實(shí)也很好理解,數(shù)組被初始化后,已經(jīng)分配了內(nèi)存,數(shù)組名就表示這塊內(nèi)存的地址,如果數(shù)組名被修改了,整個(gè)數(shù)組都要跟著移動(dòng),顯然不合適。

那 array + 1 這個(gè)表達(dá)式有沒有問題?

當(dāng)然沒有問題,array++ 和 array + 1 是兩碼事。

array++ 會修改 array 的值,但是 array + 1 只是個(gè)表達(dá)式,并不會修改 array 的值,如果寫成 array = array + 1 才會出問題。

for (int i = 0; i < 5; i++)
{
????b[i]?=?a[i];
}


//或者?
memcpy(b,?a,?sizeof(int)?*?5);

最后就是關(guān)于數(shù)組的賦值,在C語言中沒有捷徑,只能通過循環(huán)逐個(gè)元素賦值,數(shù)組名不能直接賦值。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4967

    瀏覽量

    73954
  • 數(shù)組
    +關(guān)注

    關(guān)注

    1

    文章

    420

    瀏覽量

    27351

原文標(biāo)題:數(shù)組名之間能否直接賦值

文章出處:【微信號:學(xué)益得智能硬件,微信公眾號:學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    結(jié)構(gòu)體聲明與定義

    符號整數(shù)表示 } 這樣,我們就相當(dāng)于描繪好了一個(gè)框架,以后要用的話直接定義一個(gè)這種類型的變量就好了。 2、定義 我們剛剛申請了一個(gè)名叫Info的結(jié)構(gòu)體類型,那么理論上我們可以像聲明其他變量的操作
    發(fā)表于 12-11 07:52

    C語言中除數(shù)為0屬于什么錯(cuò)誤

    0 的錯(cuò)誤,以及援引數(shù)組元素時(shí)下標(biāo)溢出等。 靜態(tài)錯(cuò)誤又可以分為語法錯(cuò)誤和靜態(tài)語義錯(cuò)誤。語法錯(cuò)誤指有關(guān)語言結(jié)構(gòu)上的錯(cuò)誤,如單詞拼寫錯(cuò)誤、表達(dá)式中缺少操作數(shù)、括號不匹配等。靜態(tài)語義錯(cuò)誤指語言意義上錯(cuò)誤,如加法運(yùn)算的兩個(gè)錯(cuò)作數(shù)一個(gè)為實(shí)行變量,另一個(gè)為
    發(fā)表于 12-08 06:38

    使用直接尋址方式提高速度

    允許編譯器生成更高效的代碼,因?yàn)樵L問變量時(shí)不需要額外的地址計(jì)算。這樣可以減少指令周期,提高執(zhí)行速度。直接尋址通常用于內(nèi)存限制較小的存儲區(qū)域,如8051微控制器的內(nèi)部數(shù)據(jù)存儲區(qū)(通常為128字節(jié)
    發(fā)表于 12-04 06:28

    scanf函數(shù)介紹

    \",a); 正確 二維數(shù)據(jù)或多維數(shù)組的定義和引用 int a[4,5]; a[1+2,2+2]=5; 錯(cuò)誤 int[10]; 正確 誤以為數(shù)組名代表數(shù)組全部元素 int a[4
    發(fā)表于 12-02 06:07

    單片機(jī)之間可以進(jìn)行無線數(shù)據(jù)傳輸嗎

    ) 1. 使用其他無線通信技術(shù):如果單片機(jī)之間的距離較近,可以考慮使用如Wi-Fi、藍(lán)牙、ZigBee等短距離無線通信技術(shù)進(jìn)行數(shù)據(jù)傳輸。這些技術(shù)通常支持設(shè)備間的直接通信,但傳輸距離和速率可能有
    發(fā)表于 11-28 08:15

    數(shù)組的初體驗(yàn)

    程序中也需要容器,只不過該容器有點(diǎn)特殊,它在程序中是一塊連續(xù)的,大小固定并且里面的數(shù)據(jù)類型一致的內(nèi)存空間,它還有個(gè)好聽的名字叫數(shù)組可以數(shù)組理解為大小固定,所放物品為同類的一個(gè)購物袋,在該購 物
    發(fā)表于 11-25 08:06

    智能模塊可以和PLC直接連接嗎?

    我想讀寫PLC的狀態(tài)和數(shù)據(jù),用可以直接連接嗎?怎么操作呢?
    發(fā)表于 10-18 09:40

    兩臺變頻器之間如何直接實(shí)現(xiàn)數(shù)據(jù)交換?

    在現(xiàn)代工業(yè)自動(dòng)化控制系統(tǒng)中,變頻器之間的數(shù)據(jù)交換是實(shí)現(xiàn)設(shè)備協(xié)同工作和智能化控制的關(guān)鍵環(huán)節(jié)。本文將深入探討兩臺變頻器之間直接實(shí)現(xiàn)數(shù)據(jù)交換的多種技術(shù)方案,分析其工作原理、實(shí)施要點(diǎn)和應(yīng)用場景,為
    的頭像 發(fā)表于 09-19 18:24 ?1126次閱讀
    兩臺變頻器<b class='flag-5'>之間</b>如何<b class='flag-5'>直接</b>實(shí)現(xiàn)數(shù)據(jù)交換?

    羅氏線圈可以直接連接示波器進(jìn)行測試嗎??

    在電氣測量領(lǐng)域,羅氏線圈憑借其非接觸測量和寬頻響應(yīng)等優(yōu)勢,已成為電流檢測的常用工具。示波器作為信號觀測的核心設(shè)備,與羅氏線圈搭配使用,能夠?qū)崿F(xiàn)對電流信號的實(shí)時(shí)監(jiān)測與分析。那么,羅氏線圈可以直接
    的頭像 發(fā)表于 09-03 13:55 ?605次閱讀
    羅氏線圈<b class='flag-5'>可以</b><b class='flag-5'>直接</b>連接示波器進(jìn)行測試嗎??

    matlab appdesigner 表格組件賦值問題,求助

    如上圖所示,我在用matlab2021Ra APP模塊進(jìn)行編程的時(shí)候,想在表格中調(diào)入自己編寫的結(jié)構(gòu)數(shù)組,我從網(wǎng)上AI了一個(gè)程序語句,看著沒問題,但是就是給表格賦值不了,還請各位大神幫忙看一下這個(gè)是怎么回事,我是初學(xué)者,請各位幫忙看看
    發(fā)表于 07-12 11:45

    《ESP32S3 Arduino開發(fā)指南》第三章 C/C++語言基礎(chǔ)

    要訪問一個(gè)數(shù)組中的某個(gè)元素,則需要使用以下語句。數(shù)組名稱[下標(biāo)] 需要注意的是,數(shù)組下標(biāo)是從0開始編號的。例如,將數(shù)組a中的第一個(gè)元素賦值
    發(fā)表于 06-10 09:20

    光纖頭可以直接轉(zhuǎn)換網(wǎng)線頭嗎

    光纖頭不能直接轉(zhuǎn)換網(wǎng)線頭,需要通過光電轉(zhuǎn)換設(shè)備(如光纖收發(fā)器或光電交換機(jī))將光信號轉(zhuǎn)換為網(wǎng)絡(luò)信號,才能與網(wǎng)線連接。以下是具體分析: 一、光纖與網(wǎng)線的傳輸特性差異 信號類型不同 光纖傳輸?shù)氖枪庑盘?/div>
    的頭像 發(fā)表于 06-03 10:27 ?2979次閱讀

    【硬件方向】企面試筆試真題:大疆創(chuàng)新校園招聘筆試題

    企面試筆試真題:大疆創(chuàng)新校園招聘筆試題-硬件 是幾年前的題目,不過值得參考一下哦 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評論支持一下哦~
    發(fā)表于 05-16 17:31

    在testbench中如何使用阻塞賦值和非阻塞賦值

    本文詳細(xì)闡述了在一個(gè)testbench中,應(yīng)該如何使用阻塞賦值與非阻塞賦值。首先說結(jié)論,建議在testbench中,對時(shí)鐘信號(包括分頻時(shí)鐘)使用阻塞賦值,對其他同步信號使用非阻塞賦值
    的頭像 發(fā)表于 04-15 09:34 ?1205次閱讀
    在testbench中如何使用阻塞<b class='flag-5'>賦值</b>和非阻塞<b class='flag-5'>賦值</b>

    給uint32_t數(shù)組填充整型值,除使用循環(huán)賦值外有沒有c庫函數(shù)可以實(shí)現(xiàn)?

    給uint32_t數(shù)組填充整型值,除使用循環(huán)賦值外有沒有c庫函數(shù)可以實(shí)現(xiàn)
    發(fā)表于 03-07 17:05