這個問題讓我瘋狂,我敢肯定我錯過了一些東西。我只需要使用指針來初始化一個字符數組。下面是我到目前爲止的代碼:使用指針初始化字符數組
int p2(){
/* Implements problem 2 of lab */
// Create an array
char **s = (char**)malloc(11 *sizeof(char));
char *p = *s;
char start ='A';
while(p != s+10){
*p = start;
start++;
p++;
}
return(0);
}
我遇到的問題是我不知道如何解決數組裏面的人物。我知道數組的基地址是** s,並且指向第一個元素的指針是* s。我不明白的是如何得到** s + 10(即數組的末尾)。
任何人都可以爲我閃耀一些光?請!
編輯:好吧,看起來像我誤解了這個問題。我看來我需要創建一個字符串數組(因此char **分配)。然後我需要遍歷這個數組,併爲每個字符串(即char *)分配一個長度爲15個字符的值。請讓我知道如果我正確理解這一點:
char ** strings ==> strings [0 ... n]其中每個元素是一個指向char(可能是一個數組)的指針。有*字符串==>字符串[0],*(字符串+ 1)=字符串[1]等等
我是關閉還是離開?
那麼你將如何遍歷數組(** s?)。它會是 pCurr = * s; while(pCurr!= *(s + 10)){... pCurr ++} – certifiedNoob
@certifiedNoob我已經添加遍歷示例,希望它們有幫助 – Vyktor