sizeof +数组名
生活随笔
收集整理的這篇文章主要介紹了
sizeof +数组名
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
鏈接:https://www.nowcoder.com/questionTerminal/daa5422cb468473c9e6e75cc98b771de
來源:牛客網(wǎng)
sizeof一個(gè)數(shù)組名稱的時(shí)候是計(jì)算的變量所具有的實(shí)際的字節(jié)數(shù)!!
當(dāng)你在函數(shù)A中定義一個(gè)數(shù)組(比如,char str[15];),然后在該函數(shù)A中直接使用sizeof(str),那么輸出結(jié)果肯定是15;但是當(dāng)你把這個(gè)數(shù)組當(dāng)成參數(shù)傳遞給另一個(gè)函數(shù)B(假如 函數(shù)B為void funB(char newstr[]),在函數(shù)B中,再次使用sizeof(newstr),輸出的結(jié)果則為4,那么這是為什么啊??
原因是把數(shù)組作為函數(shù)實(shí)參傳遞時(shí),是傳地址,或者叫傳引用,這樣只是把函數(shù)A中數(shù)組str的首地址傳遞到函數(shù)B,賦值給newstr,此時(shí)newstr僅僅是一個(gè)指針,保存的是數(shù)組str的首地址,所以newstr這個(gè)指針變量就是占4個(gè)字節(jié)的內(nèi)存。
總結(jié)
以上是生活随笔為你收集整理的sizeof +数组名的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bye MVA
- 下一篇: 【Java面试题】20 运行时异常和一般