亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問板塊 發(fā)新帖
查看: 3012 | 回復(fù): 5
打印 上一主題 下一主題

變量長(zhǎng)度數(shù)組??在堆還是棧中分配的? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-09-17 08:44 |只看該作者 |倒序?yàn)g覽
看設(shè)備驅(qū)動(dòng)開發(fā)詳解的時(shí)候,愕然發(fā)現(xiàn)原來有變量長(zhǎng)度數(shù)組這回事,于是我就試了一下,發(fā)現(xiàn)真的可以,代碼如下(我用GCC4.3.3編譯通過 )

  1. #include<stdio.h>
  2. int main (int argc, char** argv)
  3. {
  4.         int i;
  5.         int n=0;
  6.         char buf[n];

  7.         printf("the length of array is ");
  8.         scanf("%d",&n);

  9.         for (i = 0; i < n; i++) {
  10.                 buf[i]=i;
  11.         }

  12.         for (i = 0; i < n; i++) {
  13.                 printf("%d\n",buf[i]);
  14.         }
  15. }
復(fù)制代碼
但是不知道其是在哪里分配?在Linux下有什么辦法知道呢?

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2011-09-17 20:14 |只看該作者
GUN C 是可以這樣用。 技術(shù)細(xì)節(jié)不清楚。
但是 按一般理解 ,buf是指針,可以訪問它之后的地址啊。
看到過數(shù)組越界問題, 變量i 正好在 數(shù)組之后。
用GDB 看了下 , buf 地址為 0xbffff330   i 地址為0xbffff34c。 這不是堆嗎!

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2011-09-17 20:27 |只看該作者
n 的地址 為 0xbffff340 , 我把n 值設(shè)大, 到 i =16時(shí) n 被賦值為 16了,for循環(huán)終止了。
這個(gè)程序是有問題的哦。
應(yīng)該找 GNU 文檔來讀。你搞懂這個(gè)了,記得回我貼。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2011-09-17 20:33 |只看該作者
scanf("%d",&n);
char buf[n];

我看到一個(gè)程序 是這樣的,試過了,是這樣的。別亂用哦。

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2011-09-17 20:36 |只看該作者
一本書上 是這樣的:
int main( int argc, char *charv[])
{
       int i, n = argc;
       double x[n];
       for(i = 0; i  < n; i++)
              x[i] = i;
       return 0;
}

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2011-09-18 14:04 |只看該作者
恩恩 我也看到這個(gè)例子,在【驅(qū)動(dòng)程序開發(fā)詳解】中的。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP