簡體   English   中英

動態char數組中第一個元素的內存

[英]Memory of first element in dynamic char array

我的數組是這樣定義的

int buffSize = 80;
char* buff = (char*) malloc(sizeof(char) * buffSize);

首先,我認為&buff應該與&buff[0] ,但顯然不是! 我在這里想念什么嗎? 該語句為這兩個輸出兩個不同的值:

    printf("COMPARE: buff=%u, buff[0]=%u\n", &buff, &buff[0]);

其次,我問的原因是因為我試圖創建一個大緩沖區並“手動”將其划分為與getline一起使用。 基本上,我想做這樣的事情:

int byte_read, total_read = 0;
do
{
   read = getline(&buff[totalRead], buffSize, inFile); //where inFile is just a file handler
  totalRead += read;
}
while (byte_read > 0);

buff是一個指針, &buff是該指針的地址。 另一方面, &buff[0]是指針指向的位置的地址,並且應具有與buff相同的值。

總之,期望buff&buff[0]具有相同的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM