Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“a”是什么意思*&引用;在C中的字符串之前?_C_String_Pointers - Fatal编程技术网

“a”是什么意思*&引用;在C中的字符串之前?

“a”是什么意思*&引用;在C中的字符串之前?,c,string,pointers,C,String,Pointers,我试图理解这个算法,它在适当的位置反转C样式的字符。我不明白*在字符串前面和“char*end”的上下文中表示了什么。感谢您的帮助 void reverse(char *str) { char * end = str; char tmp; if (str) { while (*end) { ++end; } --end; while (str < end) { t

我试图理解这个算法,它在适当的位置反转C样式的字符。我不明白
*
在字符串前面和“char*end”的上下文中表示了什么。感谢您的帮助

void reverse(char *str) {
    char * end = str;
    char tmp;
    if (str) {
        while (*end) {
        ++end;
        }
        --end;
        while (str < end) {
            tmp = *str;
            *str++ = *end;
            *end-- = tmp;
        }
    }
}
void反向(char*str){
char*end=str;
char-tmp;
如果(str){
while(*结束){
++结束;
}
--结束;
while(str
星号表示
指针

char tmp
这是一个角色

char * str
这是一个指向字符(本例中为字符数组)的指针


表示字符
tmp
由指针
str

指向的字符串数组中的第一个字符填充。如果您确实对学习感兴趣,则需要先学习c的基本知识,然后再学习指针:

这是一个非常快速的指针教程:然后通过此教程查看字符串作为指针:


我会建议你仔细阅读一下,这也有助于你理解其他语言中的许多东西。:)

在字符串前面使用“”时,它是一个字符指针。。
这也被视为字符数组,其中在“”之后输入的字符串将是该数组的名称。

这是指向
char
…类型的指针。已经有一段时间了,但它似乎在做一些指针算术,在顺序内存位置之间移动,标记[java]正确吗?这不会在java中编译。这不是java。这是很好的
C
我没有看到字符串前面有任何*。
这是指向字符数组的指针。
不,这是指向字符的指针。该字符可能是也可能不是字符数组中的第一个字符。
tmp = *str;