Ⅰ c语言指针问题 如何用地址代码直接给指针变量赋值
p
=
(int
*)1244992;
这样就可以赋值了,不过你的程序可能会出错的!
不应该直接使用地址。
Ⅱ C语言如何把指针指向的值赋值到变量上。。。
str1是个常量指针,不能对他进行赋值操作,
用也应该写成p=str1;
另外初始化的话一般是char*
p=NULL;
或者char*
p;
p=NULL;
Ⅲ c语言里,如何把指针变量的地址赋给一个变量
指针变量的地址只能赋给指针变量。
#include "stdio.h"
int main()
{double pi=3.1415926,*p,**q;
p=π/*把double变量的地址赋给p */
q=&p; /*把指针变量p的地址赋给q */
printf(" pi=%.7lf *p=%.7lf **q=%.7lf ",pi,*p,**q); /*检查赋值的效果 */
system("pause");
return 0;
}
Ⅳ C语言怎么将变量里面的值赋给指针
p=r1;就可以了
如果要让p指向r1就p=&r1;
指针的宽度win32下是4位 dos下2位
也就是sizeof(p)=sizeof(int);
Ⅳ 在C语言中能否直接给指针指向的数据赋值为什么
可以,但int *p;*p=7;这样不行。
因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。
这样才可以:
int a,*p=&a;*p=7;
实际上就是使a等于了7。
(5)c语言指针赋值指针变量扩展阅读:
注意事项
也可以使用赋值运算符为指针变量赋值,但要保证两个指针变量的类型相同。
假设有如下变量定义:
int i,j,*p,*q;p=&i;q=&j;
这两句将变量i和j的地址分别赋值给指针变量p和q;
执行了q=p后,执行该条语句,指针变量p和q都指向了同一个变量i,因此指针变量p和q中存放的都是变量i的地址&i。变量i此时并没有初始化,只为其分配了内存单元。
注意理解:q=p;和*q=*p
前者为指针变量q赋值,即将指针变量p中存放的某个变量的地址赋值给q。显然,赋值后,q和p就指向了同一个变量。
后者将p指向变量的赋值给q指向的变量。
例子:
p=&i;
q=&j;
i=2;
j=3;
Ⅵ C语言程序设计指针变量赋值
int
*p;中的“*”说明定义的一个变量p是指针类型的。
而
*p中的“*”是一种操作,是取值操作。即去指针指向的那个值。
*p可看作是一个整形的变量。a则可以看成是一个指针。
Ⅶ C语言指针变量的赋值问题。
第二个是对的,第一个是不对的,第一个应该改为
char *p;
p="smart";
这里的意思是将"smart"的首地址赋值给p
而第二个是他的定义时初始化形式
Ⅷ 关于c语言指针变量的赋值
p=&a; //p指向a
q=&b; //q指向b
w=q; //w与q相同,指向b
q=NULL; //q置空
*p=*w; //把w指向的对象的值赋给p指向的对象的值,就是把b赋给a
结果就是a=3
Ⅸ C语言中可以给指针变量赋值常数吗
C语言中可以给指针变量赋值常数,赋值方法为:
1、首先打开Microsoft Visual C++软件,单击“文件”菜单->“新建”,新建一个文件,文件名后缀为.c。
Ⅹ C语言指针变量赋值0是什么意思
其实这种现象在C语言中是有定义的。
值为0的整形常数表达式或强制转换为void *类型的表达式可通过强制类型转换、赋值或比较操作转换为任意类型的指针。其结果将产生一个空指针。