C语言分析(关于指针,大神帮看看)
其实题目挺简单,就是字符串连接,但我没有用连接函数,我突发奇想,想试试用指针来做,结果居然成了,
这让对指针一知半解的我有点惊奇,我尝试着讲讲我不成熟的想法,请大佬们帮我分析分析,看看我的理解是否有哪些不对的地方。

下面是我的代码
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
void main()
{
char a[1024],*c;
gets(a);
int len=0;
len=strlen(a);
c=&a[len];
gets(c);
puts(a);
}
我的想法就是:在第一次接受到字符串a之后,不再设立一个新的字符串b,而是利用指针c,
指针c的地址是:通过gets()后的a的结束处,应该会默认用'\0'替换掉'\n',而我就是将'\0'的地址
赋值给指针c,并且从指针c所指向的地址开始,继续gets(),这相当于就是继续在字符数组a中进行
接受,并且接收到原来接收的字符串的后边,在最后用puts()统一打印出来,我不知道别人是否有
和我类似的方法,不过这个方法确实是我突发奇想想到的,尝试着敲敲,没想到真的实现了。
还请大佬们帮我看看,看看我对指针是否还有什么理解不够的地方。拜托了!
@qzjhjxj @自信男孩
这让对指针一知半解的我有点惊奇,我尝试着讲讲我不成熟的想法,请大佬们帮我分析分析,看看我的理解是否有哪些不对的地方。

下面是我的代码
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
void main()
{
char a[1024],*c;
gets(a);
int len=0;
len=strlen(a);
c=&a[len];
gets(c);
puts(a);
}
我的想法就是:在第一次接受到字符串a之后,不再设立一个新的字符串b,而是利用指针c,
指针c的地址是:通过gets()后的a的结束处,应该会默认用'\0'替换掉'\n',而我就是将'\0'的地址
赋值给指针c,并且从指针c所指向的地址开始,继续gets(),这相当于就是继续在字符数组a中进行
接受,并且接收到原来接收的字符串的后边,在最后用puts()统一打印出来,我不知道别人是否有
和我类似的方法,不过这个方法确实是我突发奇想想到的,尝试着敲敲,没想到真的实现了。
还请大佬们帮我看看,看看我对指针是否还有什么理解不够的地方。拜托了!

@qzjhjxj @自信男孩
...全文
相关推荐
C语言指针总结
总结来说,指针是C语言中实现动态数据结构、参数传递、函数返回值等高级功能的重要工具。
C语言指针及答案
通过以上解析,我们可以看到,C语言中的指针是极其强大但也容易出错的特性。掌握好指针的基本概念和使用规则,对于编写高效、安全的C语言程序至关重要。
c语言指针之二级指针示例
指向指针变量的指针:当A、B、C都是变量时,B是一级指针变量,存储C的地址,A是二级指针变量,存储B的地址。2. 指向数组的指针:在C语言中,数组名代表数组首元素的地址。
c语言指针数组
### 总结通过以上分析可以看出,C语言中的指针数组提供了一种灵活的方式来操作数据结构。利用指针与数组之间的相互转换,可以更加高效地实现对数组的操作,如元素的插入、删除等。
C语言指针详解 C语言指针详解
在C语言中,指针是一种非常重要的数据类型,它能够存储内存地址,允许我们直接访问和修改内存中的数据。理解指针的概念和操作是掌握C语言的关键之一。本篇文章将深入探讨C语言指针的各个方面。


