字符指针可以直接赋值吗?可否直接替换
- 开发语言
- 2025-04-06 15:37:08
- 1

指针变量能直接赋值吗? 可以直接给指针指向的数据赋值。因为*p操作是这样一种运算,返回p的值作为的那个空间的取值。存放的变量称为指针变量。指针变量是一种特殊的变量,它不...
指针变量能直接赋值吗?
可以直接给指针指向的数据赋值。因为*p操作是这样一种运算,返回p的值作为的那个空间的取值。存放的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的。
可以,但int *p;*p=7;这样不行。因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。这样才可以:int a,*p=*p=7;实际上就是使a等于了7。
指针变量一般是不可以直接赋值的,因为直接赋值的话,就是让这个指针指向这个赋值的,万一这个是你计算机内部的某个程序的或者是的某个,而你对这个指针的值又改变了,那么你的计算机就会出现问题,可能导致不能正常运行活着程序出错等等。
a 实际上就是数组的首,而指针变量则是一个存储的变量。因此,数组可以用指针来表示。但是严格来说,数组不能直接赋值给指针变量,因为这会导致类型不匹配。实际上,当数组赋值给指针时,传递的是数组的首。在C语言中,数组名本身就是一个指向数组第一个元素的指针。
能直接给指针指向的数据赋值吗?
1、可以,但int *p;*p=7;这样不行。因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。这样才可以:int a,*p=*p=7;实际上就是使a等于了7。
2、可以直接给指针指向的数据赋值。因为*p操作是这样一种运算,返回p的值作为的那个空间的取值。存放的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的。
3、a 实际上就是数组的首,而指针变量则是一个存储的变量。因此,数组可以用指针来表示。但是严格来说,数组不能直接赋值给指针变量,因为这会导致类型不匹配。实际上,当数组赋值给指针时,传递的是数组的首。在C语言中,数组名本身就是一个指向数组第一个元素的指针。
4、数组名可以视为数组的起始,直接将数组名赋给指针。例如,int array[50]; int *p = array;,此时指针p指向数组array的起始。动态内存分配:使用new运算符为指针变量动态分配内存空间,并将分配的内存块的起始赋值给指针。
本文链接:http://www.xinin56.com/kaifa/876619.html
上一篇:绍兴孙端有哪些村