第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

內(nèi)存分配數(shù)據(jù)不對(duì)

#include <stdio.h>


int main() {

char str[] = "hello";

char *str2 = "world";


char str3[10];


printf("input a value\n");

scanf("%s", str);

//str[3] = '\0';


printf("str is %s\n", str);

printf("str2 is %s\n", str2);

printf("str3 is %s\n", str3);

return 0;

}

下面是調(diào)試過程:

Temporary breakpoint 1, main () at main.c:3

3 int main() {

(gdb) n

5 char str[] = "hello";

(gdb)?

6 char *str2 = "world";

(gdb)?

10 printf("input a value\n");

(gdb)?

input a value

11 scanf("%s", str);

(gdb)?

aaaaaaaaaaaaaaaaaaaa

14 printf("str is %s\n", str);

(gdb) p &str

$1 = (char (*)[6]) 0x7fffffffdb00

(gdb) p &str2

$2 = (char **) 0x7fffffffdaf8

(gdb) p &str3

$3 = (char (*)[10]) 0x7fffffffdb10

(gdb) p strt

No symbol "strt" in current context.

(gdb) p str

$4 = "aaaaaa"

(gdb) p str3

$5 = "aaaa\000\000\000\000P\005"


str 是6個(gè)字節(jié),無論我怎么輸入,str打印出來的都是6個(gè)字節(jié),并不是實(shí)際長(zhǎng)度,還有就是為什 str 和 str3 的內(nèi)存之間相差的是16個(gè)字節(jié),而不是6個(gè)呢,str 的地址是?0x7fffffffdb00 , 而 str3 的地址是?0x7fffffffdb10

正在回答

2 回答

應(yīng)該沒問題的,你把程序調(diào)試到return 0再去打印str和str3的地址,因?yàn)槟愕膕tr3都沒初始化系統(tǒng)應(yīng)該沒有給他分配存儲(chǔ)空間,程序還沒運(yùn)行到那里你就打印它的地址應(yīng)該不對(duì),我是這樣理解的

0 回復(fù) 有任何疑惑可以回復(fù)我~

沒有問題的

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

內(nèi)存分配數(shù)據(jù)不對(duì)

我要回答 關(guān)注問題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)