C语言中的整形变量是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中的整形变量是啥?相关的知识,希望对你有一定的参考价值。
整型,就是整数,比如5,8它区别与小数(计算机中叫浮点数),比如5.8就是小数,而不是整数
变量,也就是说它是可以变化的,比如int
i;
i就是一个变量,可以给它赋值i=2,i=3等等之类的
它区别与常量,比如5,它就是一个常量,不能再给它赋值,如5=6这是不行的
整型变量,就是可以被赋整数值的变量 参考技术A 首先得知道变量是啥,就像x,y,z之类表示的量,可以被赋值;
整形是修饰变量类型的,数有几种类型,整形可以理解为整数吧,比如区别浮点型(小数)
给之前的x,y等变量赋值的时候,只能选整数,比如3,5,18等,而12.2,1.5就不行了
希望采纳 参考技术B 整型变量,即
整数型变量。
包括有符号整数和无符号整数,从数据长度上分,包括短整数、整数、长整数。
标准整数类型为int
一般只说整形,通常是指这个,但其它整数类型也在简称整形变量的范围之内。
包括的关键字有:
short
int
long
unsigned
其它常见的内置变量类型还有很多,例如:
UNIT
:
unsigned
int
LONG
:
long
int
WORD:
unsigned
short
int
DWORD:
unsigned
long
求采纳为满意回答。
在c语言中整形变量的指针能否赋值给整形变量?
swap(int *p1,int *p2)
int temp;
temp=p1;
p1=p2;
p2=temp;
main()
int a,b;
int *pointer1,*pointer2;
scanf("%d%d",&a,&b);
pointer1=&a,pointer2=&b;
if(a<b) swap(pointer1,pointer2);
printf("\n%d%d\n",a,b);
对于这个程序,实参传给形参的是两个指针,而当形主函数调用swap函数后,函数内却把指针直接赋给了整形变量
已解决:
swap(int *p1,int *p2)
int temp;
temp=p1;
p1=p2;
p2=temp;
这样交换地址是可以的,但是函数调用的单向传递性,不能够实现数值的交换!
故这样是错误的!
正确如下:
swap(int *p1,int *p2)
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
这并不是指针。。。而是指针所指向的值,temp=*p1即把这个指针所指向的值赋值给一个临时变量
都是同一类型;
指针变量的值是指针,指针就是地址;指针变量指向的变量就不是地址了,而是一个具体的变量。
如:int
*ptr;
ptr才是指针,即ptr为指针变量
其实是一个地址,*ptr为指针变量的值,而且指针的类型是int
* 参考技术A 1、可以。有的编译器会有警告,有的会报错。但强制转换后是可以的,指针变量本身就是内存的地址。
2、例如:
int n =99;
int *p1 = &n;
int m = (int)p1;
int *p2 = (int*)m;
这时p2就和p1是一样的,就是需要强制转换 参考技术B temp=*p1;
//
这不是把指针赋给了整形变量,而是把这个指针指向的整数值赋给了整形变量。
*
是解引用操作符,这个是基本概念,你还是好好看看书吧 参考技术C
打个酱油
这个是传值操作,因此无法实现形参向实参的传递
无论什么类型的指针变量都是占四个字节的,其值是一个占四个字节的数据,因此使用四个字节的变量就可以对其值进行存储,但是在C++中一般会采用long通过强制转换的方式来存储指针的值。将指针值赋值给整型变量可能由于编译器的不同而存在风险。
但由于函数调用的单向传递性,不能够实现数值的交换!无法实现交换数值的初衷,所以光传指针的值是有问题的。
本回答被提问者和网友采纳 参考技术D 我印象中可以赋值,但是可能会不是完整的指针地址值,一般需要强制转换下,指针一般是long型的32位,int是16位的。以上是关于C语言中的整形变量是啥?的主要内容,如果未能解决你的问题,请参考以下文章