找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
請尊重及感激所有版主付出和奉獻伊莉需要你的贊助和支持儲值後自動升級用戶組
蘿莉mega無碼催眠人妖名偵探柯overlordrpg
sdde 605刃牙岳母4172589hnd 658waaa 185岳母

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁/無修正]夢想成為

[繁]SYNDUALITY Noir

[繁]肌肉魔法使-MASHL

[繁]超龍珠英雄MM 02-

TVアニメ『一拳超人

[繁]葬送的芙莉蓮25-
C & C++ 語言C# 語言Visual Basic 語言PHP 語言JAVA 語言
查看: 3270|回復: 11

[問題] (請教)字串位元組疑惑[複製鏈接]

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
5
積分
1010 點
潛水值
13380 米
發表於 2018-11-5 04:53 PM|顯示全部樓層
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。


想請問一下,同樣的字串內容,為何在MAIN程式裡外所SIZEOF出來的值會不一樣呢?

附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊

使用道具檢舉

Rank: 2Rank: 2

帖子
1051
積分
619 點
潛水值
27270 米
發表於 2018-11-5 05:22 PM|顯示全部樓層
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
在C/C++ 中. 傳送陣列到副程式 實際上只是把陣列的開始address 傳過去. 變成一個指標型別. 當然就不會跟本來的array 大小一樣

另指標占用的大小因不同系統大小一定. 一般在32bit windows 下為4byte. 64bit 為8byte
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。

使用道具檢舉

帖子
74
積分
0 點
潛水值
12880 米
發表於 2018-11-17 07:29 PM|顯示全部樓層
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
如果要相同的話,是要再輸入的地方加入*嗎?  這樣才能抓取到他的指標位置
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。

使用道具檢舉

mountainboy 該用戶已被刪除
發表於 2018-11-17 09:38 PM|顯示全部樓層
所有積分大於負-100的壞孩子,將可獲得重新機會成為懲罰生,權限跟幼兒生一樣。
sizeof 是靜態函數,也就是編譯時已定!你的例子中sizeof(str2),因str2 是靜態宣告,所以sizeof 算真實字元+1個0結束字串字元。在length()中的sizeof(str),因為是動態參數傳送(此例為call by reference),所以sizeof(str)只算資料型態的空間。如前面人所提,指標的空間為4 bytes (32-bit system) 或 8 bytes (64-bit system。

如果要得到相同答案,可以兩個字串宣告移到最上方,變成全域變數。...
瀏覽完整內容,請先 註冊登入會員

點評

snowflying sizeof 不是函數,是運算子  發表於 2018-11-17 11:57 PM

使用道具檢舉

mountainboy 該用戶已被刪除
發表於 2018-11-18 12:17 AM|顯示全部樓層
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
mountainboy 發表於 2018-11-17 09:38 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

sizeof 是靜態函數,也就是編譯時已定!你的例子中sizeof(str2),因str2 是靜態宣告,所以sizeof 算真實字 ...

運算子也是函數的一種!例如加法(+),也可以寫成(+, 1 2),結果是3. 數學上,函數是定義域到值域的轉換。從這個角度,sizeof 當然是函數,它接收一個值,對映到另一個值!...
瀏覽完整內容,請先 註冊登入會員





點評

snowflying 也不是每個運算子都具有定義域到值域的關係,像是 ","  發表於 2018-11-18 01:07 PM
snowflying 但在程式語言來說,函數是需要括號的,而運算子不用  發表於 2018-11-18 01:02 PM
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。

使用道具檢舉

mountainboy 該用戶已被刪除
發表於 2018-11-18 08:17 PM|顯示全部樓層
逗點在一般程式語言中只是個分隔符號(token),不是運算子喔!關於”但在程式語言來說,函數是需要括號的,而運算子不用”,我先前的例子來自Scheme 語言,所有運算子都是以函數括號呈現!所不同的是sizeof()是靜態函數,在編譯時就知道結果了,類似巨集。但巨集也是函數。所以通常都叫巨集函數!
若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

  尊貴會員

Melty Snow  雪靈

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

帖子
3222
積分
24364 點
潛水值
76910 米
發表於 2018-11-18 10:11 PM|顯示全部樓層
mountainboy 發表於 2018-11-18 08:17 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

逗點在一般程式語言中只是個分隔符號(token),不是運算子喔!關於”但在程式語言來說,函數是需要括號的, ...

這邊是 C/C++ 版區,自然是談這個了
...
瀏覽完整內容,請先 註冊登入會員
Melty Snow [雪靈]

使用道具檢舉

mountainboy 該用戶已被刪除
發表於 2018-11-20 07:53 AM|顯示全部樓層
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php
你應該去查ISO的C++17 標準,cppreference.com 當參考就好!
C++ 的逗號有特殊用途,而它也會傳回一個值。setbuf()不是不傳回值,而是傳回的值是void型。
你的例子#define TAG "EOF",其實定義域是TAG, 值域是"EOF" 也是函數。
我不用函式,那個不是function 的真意!

使用道具檢舉

Rank: 1

帖子
132
積分
129 點
潛水值
1850 米
發表於 2018-11-28 01:14 AM|顯示全部樓層
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php
cockroachrun是對的, sizeof是在compiler time就決定了,你想得到一樣的值你也可以把string移到length()裡

使用道具檢舉

Rank: 2Rank: 2

帖子
353
積分
347 點
潛水值
12540 米
發表於 2018-11-28 07:37 PM|顯示全部樓層
z1090128 發表於 2018-11-17 07:29 PM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

如果要相同的話,是要再輸入的地方加入*嗎?  這樣才能抓取到他的指標位置

如同cockroachrun與mountainboy提到的
...
瀏覽完整內容,請先 註冊登入會員





如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。

使用道具檢舉

帖子
74
積分
0 點
潛水值
12880 米
發表於 2018-12-1 07:46 PM|顯示全部樓層
也就是說你第一個回傳的是矩陣的大小,但第二個的是那個矩陣位置的大小,因為你是用char,所以在C中char的大小為1 byte,所以才會只有八個位元?
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。

使用道具檢舉

Rank: 1

帖子
71
積分
49 點
潛水值
5160 米
發表於 2018-12-10 04:49 PM|顯示全部樓層
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。
void length(char *str,char strbyte)
{
    ...........
}
呼叫時
length(str,sizeof(str));
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部