c中的指针(初学者)

bon*_*425 1 c arrays pointers

我刚开始看一下来自java背景的C语言.我很困难地把头包裹在指针周围.从理论上讲,我觉得我得到它但是一旦我尝试使用它们或者按照使用它们的程序,我很快就会迷失方向.我试图遵循字符串连续练习,但它没有工作,所以我把它剥离到一些基本的指针练习.它符合strcat函数的警告冲突类型,当我运行它时,崩溃完全崩溃.

谢谢你的帮助

#include <stdio.h>
#include <stdlib.h>
/* strcat: concatenate t to end of s; s must be big enough */
void strcat(char *string, char *attach);


int main(){
char one[10]="test";
char two[10]="co";
char *s;
char *t;
s=one;
t=two;
strcat(s,t);
}

void strcat(char *s, char *t) {

    printf("%s",*s);




}
Run Code Online (Sandbox Code Playgroud)

Kri*_*son 5

printf()应该看起来像这样:

printf("%s",s);
Run Code Online (Sandbox Code Playgroud)

星号是不必要的.该%s格式参数意味着该说法应该是char*,这是什么s是.前缀s使用*额外的无效间接.

您收到有关冲突类型的警告,因为它strchr是一个标准库例程,它应具有以下签名:

char * strcat ( char * destination, const char * source );
Run Code Online (Sandbox Code Playgroud)

你的回复类型不同.您可能应该将您的名称重命名为mystrchr其他名称以避免与标准库发生冲突(如果使用相同的名称,可能会出现链接器错误).