[問題] 關於指標函數
想請教一下各位大大,最近在看一本C++的書,對於指標函數有點不是很了解,
下面的程式中char *left(const char * str, int n) 這函數是代表回傳一個指標,
P是NEW出來的東西,然後main()函數中char *ps = left(sample, 4)這行可以解釋
成 left=p指向的內容字串 ,然後ps再指向left=p指向的內容字串嗎?對於指標函數
似乎又把我搞混了~~~如果有哪位大大能詳細解釋那是更好了!
#include<iostream>
using namespace std;
const int ArSize = 80;
char * left(const char * str, int n = 1);
int main(void)
{
char sample[ArSize];
cout << "Enter a string:\n";
cin.get(sample,ArSize);
char *ps = left(sample, 4);
cout << ps << "\n";
delete [] ps;
ps = left(sample);
cout << ps << "\n";
system("PAUSE");
return 0;
}
char *left(const char * str, int n)
{
int i;
if(n < 0)
n = 0;
char * p = new char[n+1];
for (i = 0; i < n && str[i]; i++)
p[i] = str[i];
while (i <= n)
p[i++] = '\0';
return p;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.70.214.36
→
11/14 11:43, , 1F
11/14 11:43, 1F
→
11/14 11:48, , 2F
11/14 11:48, 2F
→
11/14 11:51, , 3F
11/14 11:51, 3F
推
11/14 12:34, , 4F
11/14 12:34, 4F
→
11/14 12:35, , 5F
11/14 12:35, 5F
→
11/14 12:36, , 6F
11/14 12:36, 6F
→
11/14 12:36, , 7F
11/14 12:36, 7F
→
11/14 12:37, , 8F
11/14 12:37, 8F
→
11/14 12:38, , 9F
11/14 12:38, 9F
→
11/14 12:38, , 10F
11/14 12:38, 10F
→
11/14 12:39, , 11F
11/14 12:39, 11F
→
11/14 12:39, , 12F
11/14 12:39, 12F
→
11/14 12:41, , 13F
11/14 12:41, 13F
→
11/14 12:41, , 14F
11/14 12:41, 14F
→
11/14 12:42, , 15F
11/14 12:42, 15F
→
11/14 14:18, , 16F
11/14 14:18, 16F
→
11/14 14:19, , 17F
11/14 14:19, 17F
→
11/14 14:19, , 18F
11/14 14:19, 18F
推
11/14 14:42, , 19F
11/14 14:42, 19F
討論串 (同標題文章)