可以,指针变量的值是存储地址,需要赋值对应类型的变量的地址;如:int a = 0;int *p;p = &a; // 赋值变量的地址 也等效于定义语句:int a = 0;int *p = &a;
可以直接赋值。指针变量可以通过赋值运算符(=)将地址赋给另一个指针变量,使得两个指针变量指向同一个地址。示例代码如下: int num = 10; int *ptr1 = # int *ptr2; ptr2 = ptr1; // 将ptr1的值赋给ptr2,使得ptr2也指向num的地址 printf("Value at ptr1: %d\n", *ptr1); // 输出10 pri...
在C语言了,是不可以直接赋值的,比如 int*a;a=0x123456;编译不过的,等号左边是指针变量,右边是整型...
可以直接给指针指向的数据赋值。因为*p操作是这样一种运算,返回p的值作为地址的那个空间的取值。存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址...
可以用strcpy函数进行赋值,此时一方指针仅仅只进行过声明(也就是题主指的原始指针变量),必须得用...
指针变量一般是不可以直接赋值的,因为直接赋值的话,就是让这个指针指向这个赋值的地址,万一这个地址是你计算机内部的某个程序的或者是系统的某个地址,而你对这个指针的值又改变了,那么你的计算机系统就会出现问题,可能导致系统不能正常运行活着程序出错等等。但是NULL是一个空地址,即0,它不指向任何...
一个指针没有初始化,而且也没有被赋值(注意,赋值是指p=a,p是个指针,a是个变量)时,是不能取值的(*p),因为此时指针没有指向任何内存。一个指针数组,在定义时就给他分配了内存,当然可以直接给指针赋值了,但是取值(*p[5]),仍然是不行的。。。总而言之,指针只有指向了实际的内存才能被取值(*p或*p[6])。。
可以直接赋给“结构体”指针的。但“结构来自体数组指针”也可以理解为数组的促积首记印指针,这时指针...
*q, *p); return 0;}会输出2 2.100000 这个等效于 a=b, float赋值给int,会自动做强制转换,也就是向下取整。当如果是 q=p 那就不行了。 不同类型指针不可以直接赋值。如果一定要赋值 可以q=(int *)p;做显式的强制转换。 但是由于int和float的存储结果不同,得到的值也是错的。
可以。f既是数组名,也是数组的首地址,而指针的本质就是一个地址。