指针可以直接赋值吗,指针可以直接输出吗
指针可以直接赋值吗,指针可以直接输出吗详细介绍
本文目录一览:字符指针初始化时可以直接赋值吗?
可以,但int *p;*p=7;这样不行。因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。
字符型指针的初始化可以在定义时候直接赋值。
你可以直接给指针赋值为字符串常量。例如:char *str = Hello World!这样做可以将字符串常量 Hello World! 赋值给指针变量 str。但是这样做并不能修改字符串常量的内容。
可以直接给指针指向的数据赋值。因为*p操作是这样一种运算,返回p的值作为地址的那个空间的取值。存放地址的变量称为指针变量。
c语言指针=指针能不能直接赋值
可以,但int *p;*p=7;这样不行。因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。
可以直接给指针指向的数据赋值。因为*p操作是这样一种运算,返回p的值作为地址的那个空间的取值。存放地址的变量称为指针变量。
可以,现在的编译器会自动将赋给指针的整形数据强制转换成指针类型的。在32位系统下,一个指针本来就是一个32位整数,只是这个整数是某个变量的地址。
肯定能。但你编写的:int p;*p=7;这样的程序不对。因为“能直接给指针指向的数据”赋值,而你编写的小程序里的p还没有指向,所以不能赋值;这个指针叫“悬浮指针”,也叫野指针,它不能被赋值的。
会自动做强制转换,也就问是向下取整。当如果是 q=p 那就不行了。不同类型指针不可以直接赋值。如果一定要答赋值 可以q=(int )p;做显式的强制转换。回 但是由于int和float的存储结果不同,得到答的值也是错的。
指针为什么能直接赋值啊
1、int* c=(int*)100;这里 声明 c 是指针,指向int 型。(int*) 是强制转化运算。(int*)100; 把地址值 100 强制转化为 int 型 的 地址。
2、因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。这样才可以:int a,*p=*p=7;实际上就是使a等于了7。
3、肯定能。但你编写的:int p;*p=7;这样的程序不对。因为“能直接给指针指向的数据”赋值,而你编写的小程序里的p还没有指向,所以不能赋值;这个指针叫“悬浮指针”,也叫野指针,它不能被赋值的。
指针变量可以直接赋值地址吗?
可以,但int *p;*p=7;这样不行。因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。
可以直接给指针指向的数据赋值。因为*p操作是这样一种运算,返回p的值作为地址的那个空间的取值。存放地址的变量称为指针变量。
int *a = 0 是不行的,因为这里是生命a是一个指向整型的指针,这里的a 是一个地址,而int *a;*a = 5;是可以的,*a是代表的是变量a的值。
p = 1,表示将1赋值给p 所指的变量或地址空间,在这步上面肯定有*p的初始化或已赋地址。不然你直接这样写肯定是错的。
对于数组,如果不给定索引只给数组名,则默认取地址,因为编译器无法确定你要取那个元素,因此如果要赋值给指针,对于单个变量,那么只用变量名就是取值,包括指针变量(指针赋值给指针),要取地址需要加&。
指针变量赋值有三种方式:int ii2以及i3。nt *p1=&i1,*p2=i2; 用整形变量的地址给基类型为整形的指针变量赋值。p1= 给指针变量赋予变量的地址。p1=p2; 通过指针变量给指针变量赋值。