C语言中可以给指针变量赋值常数。1、申请了空间(在常量区),存放了字符串 2、在字符串尾加上了'/0'3、返回地址,这里就是返回的地址赋值给了p 字符串常量"hello"出现在一个表达式中时,"hello"表达式使用的值就是这些字符所存储的地址(在常量区),而不是这些字符本身。所以,可以把字符串赋值给...
可以,但int *p;*p=7;这样不行。因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。这样才可以:int a,*p=&a;*p=7;实际上就是使a等于了7。扩展资料:注意事项也可以使用赋值运算符为指针变量赋值,但要保证两个指针变量的类型...
在指针自增的时候,编译器会自动识别类型,比如指针是指向int型的,想获取下一个的地址时,指针直接p++就行了,不要多此一举的p+4了 特别需要注意的是,在void指针使用的时候,不能使用指针运算,应为void型编译器不能识别类型的长度(即指针所指对象的体积),p++这样就是不合法的,即不能进行数学运算,也不能使用*取...
C语言中使用指针变量给数组元素赋值 #include <stdio.h>intmain() {inta[10];int* pa =a;inti;for(i =0;i<5;i++) scanf("%d",pa+i);//为什么不使用*(pa+i)? 因为这个参数应该为 指向变量地址 的指针,也就是地址,而*(pa+i)指向的是 该指针所指向的地址 中存放的变量for(i =0;i<5;i++...
应该为scanf("%d",(int)&p),因为你的p没有分配内存空间,不能直接往里面写入值,要和普通整型赋值一样加&
指针变量赋值给指针变量 是可以的。我想补充楼上的 1、就是这两个指针变量同时指向一个地方 内存 2、指向指针的指针的指针是二级指针。它指向指针。到看你怎么用了
指向指针的指针型变量也是指针变量。当然可以赋值。只是你的指针变量必须先指向一个地址的前提下。
include <stdlib.h> void main(){ int a[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};int b[5]={100,101,102,103,104};int *pa;pa = &a[3]; // 把 a[3] 的地址给 *pa printf("*pa=%d\n",*pa);printf("a[3]=%d\n",a[3]);pa=b[2]; // b[2]...
指针变量 里面是地址, int 变量里面是整数。整数和地址是2个不同的东西。地址是一种标识,而这种标识和整数没有关系。赋值一般发生在同一类型的变量之间,或者可以强制转换的变量类型之间。地址不能强制转换到整型。不能因为地址看起来像数字就认为它是整型。
为什么不能像C语言中赋一个NULL这个值呢?为什么是赋值0?C语言中是否可以对这个空指向不写NULL,就写0可以吗? 相关知识点: 试题来源: 解析 NULL是个宏#define NULL 0c和c++中都可以直接用0分析总结。 c里定义一个指针变量时我们事先对这个指针赋空值那么一般就是赋个0给它...