C语言中能不能将一个整数赋给一个指针变量?

作者&投稿:聂兴 (若有异议请与网页底部的电邮联系)
在C语言中能否直接给指针指向的数据赋值?为什么?~

可以,但int *p;*p=7;这样不行。
因为“能直接给指针指向的数据”赋值,而这里的p还没有指向,所以不能赋值,这种指针有个名字叫“悬浮指针”,是不能给它赋值的。
这样才可以:
int a,*p=&a;*p=7;
实际上就是使a等于了7。

扩展资料:注意事项
也可以使用赋值运算符为指针变量赋值,但要保证两个指针变量的类型相同。
假设有如下变量定义:
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;

在某种场合,把常量赋给指针变量是可以的,例如:
int
a=10,
*p
;
printf("%d",&a);
在以上代码输出a的地址值之后,譬如:1244996
以上程序可以改为:
int
a=10,*p;
p=1244996;
printf("%d",*p);
输出10

系统内存使用是操作系统规定的,如果你希望直接操作内存,就必须了解系统的内存的分配情况,否则造成的损失可能是致命的。你的举例是不完整的,如果说*point_1=100是非法的,完整语句应该是int *point_1=100,之所以非法是因为100不是用户可以操控的内存区域。*p = 1之所以数合法的,是因为将p所指的内存赋予整数1,例如Int a;int *p = &a;*p = 1; // 等价于赋值语句a = 1,

在某种场合,把常量赋给指针变量是可以的,例如:
int a=10, *p ;
printf("%d",&a);
在以上代码输出a的地址值之后,譬如:1244996
以上程序可以改为:
int a=10,*p;
p=1244996;
printf("%d",*p);
输出10

*point_1=100; 将100赋值给point_1指向的地址。

point-t 里存放的是地址。。。

初始化时不能,*p=1可以


不能单独做语素的字和不成词语素有什么分别???
不成词语素单独出现时是有实际含义的。3、概念不同 不能单独做语素的字基本是连绵词,音译词等多音节单纯词中的一个音节。如:蝴蝶的蝴,蜘蛛的蜘,如果独立使用有音无义,只有组合使用才能表达整体意义。不成词语素不能单独成词,只能与其它语素组词,如伟:伟大、雄伟,伟字承担“大”的意义。

c语言中函数能返回一个数组吗
不能直接返回一个数组,但是可以用其他方式实现类似功能。方法1:利用全局变量 分析:全局变量作为C语言的一个知识点,虽然我们都了解它的特点,但在实际教学过程中应用得并不是很多。由于全局变量的作用域是从定义变量开始直到程序结束,而对于编写有多个返回值的C语言函数,我们可以考虑把要返回的多个值...

c语言中,函数调用能不能只写一个函数名。
楼主想法有点乱啊。1.首先明确函数定义int paixu(int *p1,int *p2)最前边那个int是函数的返回类型,就是说这个函数最后要return一个值,并且这个值是int类型的。函数定义时可以省写返回类型int,此时默认返回的是int类型,但若你本来是想返回一个除了int类型外的其他类型,就不能省写了。2.搞清函数...

C语言中怎么把一维数组赋给另外一个一维数组
或者遍历二维数组,将每个元素赋值为一维数组对应值上。优点为操作灵活,可以按照需要任意赋值。2、当一维数组和二维数组类型相同,而且赋值顺序与一维数组中的存储顺序完全相同时,可以用memcpy的方式,直接一次性赋值。如一维数组为a,二维数组为b,基础类型为TYPE,需赋值元素个数为n,可以调用 memcpy(b,...

从语言文字的表达中观察一个人
【自省】文如其人,文章是作者主观思想的烙印,是作者感情、性格的外在表现。语言是人们心灵的外壳,我们可以借助语言推测人的本质。善者不辩,辩者不善,人品不是靠花言巧语来修饰的。1、气性不平和,则文章事功,俱无足取。解释:一个人的性格气质不够平和,那么无论是做学问还是建立功业,都很难...

在c语言中,怎样在一个数组中插入一数
printf("不能分配空间!");exit(0);} printf("请输入数组中的元素的个数:"); \/\/可以输入比数组长度小的个数 scanf("%d",&h);printf("请输入数组中的元素(分别输入):\\n");for(i=0;i<h;i++)scanf("%d",&p[i]);if(h==k){ q=new int[k+1];if(p==NULL){ printf("不...

c语言程序设计 1. 将一个数组中的10个元素逆序后输出; 注:要求改变数组...
include "stdio.h"void switch_array(int _a[10]){ int temp1,temp2;for(int i=0;i<5;i++){ temp1 = _a[i];temp2 = _a[9-i];_a[i]=temp2;_a[9-i]=temp1;} } int main(){ int a[10] = {0,1,2,3,4,5,6,7,8,9};int i;printf("颠倒之前");for(i=0;i<...

...中使用主调函数中已经被赋值的一个变量,能不能行呢?
可以使用全局变量,例子如下:include<stdio.h>int a;void f();int main(){a=10;f();}void f() \/\/自定义函数{printf("a=%d\\n",a);}

易语言 数组排序求帮助, 能不能只把数组的第一个排序
先把一维数组赋值,要怎么排就怎么赋值,然后,把这一维数组的值转到二维数组中.--- .版本 2 .程序集 窗口程序集1 .程序集变量 A, 整数型, , "3,2".程序集变量 B, 整数型, , "6".程序集变量 C, 整数型 .程序集变量 D, 整数型 .程序集变量 E, 整数型 .程序集变量 F, 文本型 .子...

如何判断一个词语是否是成词语素呢?
成词语素就是可以独立成词的语素,而不成词语素则是不能独立成词的语素。如“人民”这个词语。“人”可以独立成词,是成词语素,而“民”这个语素不能独立成词,它是不成词语素。不成词语素是语素的一个重要分支,从语言的历时性角度观察,现代汉语中的不成词语素多为古代汉语的单音节词,其本身大多...

永寿县19179526460: C语言中能不能将一个整数赋给一个指针变量? -
尹郑化瘀: 系统内存使用是操作系统规定的,如果你希望直接操作内存,就必须了解系统的内存的分配情况,否则造成的损失可能是致命的. 你的举例是不完整的,如果说*point_1=100是非法的,完整语句应该是int *point_1=100,之所以非法是因为100不是用户可以操控的内存区域.*p = 1之所以数合法的,是因为将p所指的内存赋予整数1,例如 Int a; int *p = &a; *p = 1; // 等价于赋值语句a = 1,

永寿县19179526460: c语言指针能不能用整形数据赋值 -
尹郑化瘀: 可以,现在的编译器会自动将赋给指针的整形数据强制转换成指针类型的.在32位系统下,一个指针本来就是一个32位整数,只是这个整数是某个变量的地址.

永寿县19179526460: C语言中i=3与*i - pointer=3作用相同吗?不是不能把整数赋给一个指针变量吗 -
尹郑化瘀: 当指针i_pointer指向变量i时,i=3与*i_pointer=3作用相同 不是把整数赋给一个指针变量,而是把整数赋给一个整型指针变量指向的变量.

永寿县19179526460: C语言中,如何让指针指向一个已知地址? -
尹郑化瘀: 必须转换类型,你的第二条是正确的.第一条编译不通过的是错误的,因为他只是一个16进制的数,而p是指针,是不能赋值的.也就是第一条赋值语句是将一个整数赋值给指针,肯定不行的.

永寿县19179526460: C语言,第一怎么把一个字符串赋给一个指针变量可以吗,像图上那么赋吗,第二一个字符串赋给一个指针,只 -
尹郑化瘀: 字符串双引号做了3件事: 1.申请了空间(在常量区),存放了字符串 2. 在字符串尾加上了'/0' 3.返回地址给string地址就是第一个字符的地址你两种写法都是对的

永寿县19179526460: c语言.不要将一个整数赋给一个指针变量..为什么*p=1 合法..*pointer - 1=100不合 -
尹郑化瘀: 合法呀!怎么不合法呢 除非这样 int *pointer_1 = 100 这样就不合法.

永寿县19179526460: C语言 如何把一个变量值赋给一个数组. -
尹郑化瘀: 1.整型值赋值给整型数组:int value=2;//定义一个变量,并赋值 int array[10];//定义一个数组 array[0]=value;//将变量值赋值给该数组. 2.整型值赋值给字符数组: int value=3; char str[10];str[0]=value+'0';//赋值给单个字符 itoa(value,str,10);//数字转字符串函数itoa,10代表十进制.要包含头文件<stdio.h> 3.字符赋值给整型数组 char ch; int array[10]; array[0]=atoi(ch); 仅举上例.

永寿县19179526460: 谭浩强C语言(第四版)中一个简单问题
尹郑化瘀: 1、指针变量中只能存放地址.这个地址不是由我们来控制的,是由计算机自动分配的地址.因为我们并不知道内存中哪些地址的可用的. 将一个整数赋给一个指针变量,是错误的操作.因为每个程序都有操作系统分配的内存,不可以访问不属于自己的内存地址. 2、应该是a=100吧.

永寿县19179526460: 单片机c语言中可以把一个变量的值作为地址赋给指针变量吗? -
尹郑化瘀: 把a的地址赋给p,应该是: p = &a; 而你直接写p = a;和p = 0x30;一样,有风险.还可能报错之类的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网