关于指针
//取得最后的字符,指针只是一个首地址。
char* CGFTPTestDlg::get_filename(char* path){
char* p;
p = path+strlen(path);
while ((p > path) && (*p != '/'))
p--;
return *p == '/' ? p+1 : p;
char* CGFTPTestDlg::get_filename(char* path){
char* p;
p = path+strlen(path);
while ((p > path) && (*p != '/'))
p--;
return *p == '/' ? p+1 : p;
在上面的例子里,p首先取得paht的末地址,然后将p向前移,直到符合条件。
一、
char *p;
strcpy(p,"come in please. ");
请问这是把字符串内容复制给p,还是把字符串地址复制给p。
二、
strlen1(char *s)
{
char *p;
p=s;
while(*p)p++;
return(p-s);
}
请问,return(p-s)语句返回的值返回到什么地方?
char *p;
strcpy(p,"come in please. ");
请问这是把字符串内容复制给p,还是把字符串地址复制给p。
二、
strlen1(char *s)
{
char *p;
p=s;
while(*p)p++;
return(p-s);
}
请问,return(p-s)语句返回的值返回到什么地方?
第二个问题:一般,如果return的返回值的长度小于2个字节,TC将返回值放在AX寄存器中,由调用该函数的程序取走。如果长度大于2个字节,TC将返回值放在堆栈中,由调用程序取走。如果你不同汇编软件相互调用,用不着管这些。