求大神解答一下為什麼,C語言指標那塊不是很懂

2021-03-06 00:28:56 字數 792 閱讀 1584

1樓:匿名使用者

char *a[2]; 這裡定義乙個指標陣列a,其中有兩個元素,均是字元指標,但指標的指向還沒有,所以是不能用的

char b[2][100];

a[0]=b[0];

a[1]=b[1]; //給兩個指標分別分配指向printf("please enter the source file name:\n");

scanf("%s",a[0]);

printf("please enter the destination file name:\n");

scanf("%s",a[1]);

printf("%s",a[1]);//這樣就好了!}

2樓:劉文正粉絲

字串就是乙個字元指標.

它指向了字面量池(堆)

printf(「%s」,*a[1]);這就是語法上的錯誤, a是乙個字元指標, a[1]等價於*(a+1), 所以a[1]是乙個字元, 字元不能被取值, 只能被定址.

你可以這樣想: 字串有長有短, 所以不能用乙個死的資料型別來儲存, 因為要麼記憶體被浪費, 要麼乙個變數不夠存.

但是你不能用乙個乙個的字元變數去儲存乙個文章. 因為光你定義char a; char b;你就不用活了.

而這樣我們首先想到的就是陣列, 它可以極好得來儲存字串, 因為a, b, c咱不能動態地去找第幾個字元. 但是陣列不一樣,

它是乙個連續的記憶體塊, 你只要有首位址, 後面加上[i]就直接取值了. 所以字串用是字元陣列, 它還是乙個特殊的字元陣列, 因為它以\0結尾

C語言問題求大神解答,求大神解答一下C語言問題?

a b 2,n b 4 1 計算 裡面的,b 2,n n b 5 2 1,逗號表示式返回最後一個表示式的值 賦值表示式的值就是被賦給的值,即1 所以括號裡面結果為1 2 計算a 1 4,先計算等號右邊的值 5 則a 5,等價於a a 5 12 5 2 樓主你好。b 2,n b 其實就是兩條語句,第一...

求英語大神解答一下,求英語大神解答一下!

第一大題答案.inventions.written,different,cotton.mention 求英語大神解答一下?前半句可以翻譯成 腦子是個好東西,但後半句不準確。這句表達的意思是 如果你不蠢的話就動動腦子吧。言下之意,如果你沒腦子是個笨蛋的話,就別用腦子了,否則就動動腦子 求英語大神解答一...

求英語大神解答一下,求英語大神解答一下!

完型填空 bacba bbabc 閱讀理解 1 d para2 l4 5 2 a paraa l7 9 3 c para 4 no.2 4 d para75 d 需要閱讀痕跡 求英語大神解答一下!200 1由點到面,構建知識網路 對所學的知識點分步地進行梳理 歸納和總結,理清知識脈絡。從乙個簡單的語...