大家好,今天小编关注到一个比较有意思的话题,就是关于c语言 指针赋值指针的问题,于是小编就整理了3个相关介绍c语言 指针赋值指针的解答,让我们一起看看吧。
c语言中只能给指针变量赋值什么和什么?
指针变量只能赋值一个内存或者空指针。
因为指针变量本质上是存储内存地址的变量,所以只能将一个内存地址赋给指针变量来指向某个变量或者对象。
而空指针则表示指向空地址,即不指向任何对象。
此外,还需要注意指针变量在未初始化时应该先赋值为nullptr,以避免指向未知的内存地址。
c语言为什么字符串赋值给指针是常量?
在C语言中,字符串字面量(如"hello world")被视为常量。当字符串字面量赋值给指针时,指针指向的是字符串字面量在内存中的地址,而这个地址是常量,不可被修改。因此,将字符串赋值给指针会使指针成为指向常量的指针,即不能通过指针修改字符串的。若需要修改字符串内容,应使用字符数组而非指向常量的指针。
c语言中字符串怎么赋值?
C语言中,字符串的赋值主要有两种方法,第一种是通过指针的方式直接赋值,第二种是通过数组直接赋值。
1、指针式赋值。
通过程序的运行情况,可以知道:char *p = "hello";这种字符串的赋值方式是完全没有问题的。要理解这种赋值方式,首先得理解双引号(特别注意:这个是双引号,不要赋值的时候给弄了个单引号)在这个语句中做了什么工作。双引号主要做了3个工作,分别是:
(1)申请了空间(在常量区),存放了字符串。
(2)在字符串尾加上了“\0”。
(3)返回地址。
这里所返回的地址就赋值给了char *类型的指针变量p。
2、通过字符数组直接把字符串赋值。
到此,以上就是小编对于c语言 指针赋值指针的问题就介绍到这了,希望介绍关于c语言 指针赋值指针的3点解答对大家有用。