为什么C语言中的字符串可以用指针表示?( 三 )

加一个星号之后原形毕露 , *是指针变量的标志 , 指针变量前面加*可以把指针指向的变量输出出来 , 指针还可以做加减法 , 比如我让指针加1 , 它指向的变量就会发生变化 。

加1之后它指向的变量就变成了b , 在有些时候 , 可以直接用指针来声明字符串 , 比如:

但有些时候我们发现指针还不太好用 , 比如说下面这种情况 。

我声明了一个字符型指针 , 却不能接受用户输入的数据 , 这是为什么那?因为指针只能指向已经存在的变量 , 它只是个别名 , 就比如说王明托洛夫斯基维斯的别名叫小明 , 这个小明之所以存在是因为王明托洛夫斯基维斯的存在 , 如果只有一个小明 , 它什么也指代不了 , 这个问题应该怎么解决那?在声明指针的时候 , 再开辟一块内存空间 , 这样指针存在就有意义了 , 比如说下面这样 。

malloc的意思是动态开辟内存 , 它返回的是一个没有类型的指针 , C语言牛就牛在内存管理上了 , python再灵活但是用不了指针 , 所以python写不了操作系统但是C语言可以 。

推荐阅读