ZKX's LAB

c语言中说指针只能做加减法,为什么我用的时候就乘除也可以啊?有违常理啊! c 只能指针

2020-10-09知识6

c语言中说指针只能做加减法,为什么我用的时候就乘除也可以啊?有违常理啊。 指针是变量地址,地址就是个整数,指针的加减有物理意义,而乘除没有物理意义,只是两个整数乘除而已。

C语言指针问题? 你可以这样操作:#include<;stdio.h>;int main(){ char a[20][20]={{0}};char*p=0;int i=0;for(i=0;i;i+){ p=a[i];sprintf(p,\"%s%d\\n\",\"abcd\",i);Please type anything you 。

在C语言中,文件指针变量的类型只能是什么

都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢?你能举例说说吗? 1.分析问题整个问题,从提问者的角度,等价于两个子问题:子问题1:为什么C语言要引入指针?子问题2:指针怎么才能用好?2.子问题1的分析现在来分析子问题1。要回到这个问题,要回顾计算机程序的执行原理:现代通用计算机基本上都遵循冯·诺依曼结构。冯·诺依曼结构的精髓在于:将计算机指令与数据一视同仁,都放入内存中处理。所以计算机程序执行的过程,实际上就是不断从内存中取出指令,再从内存中取出数据,指令作用于数据得到结果,结果再放回内存的过程。从这个过程可以看出,程序的整个运行都是围绕内存进行的。既然指令和数据都放在内存中,那么执行哪条指令、取哪个数据、结果放到哪里,都需要精确定位内存的具体位置。C语言作为开发Unix操作系统而创造出来的编程语言,天然需要具备操作系统底层的能力;而从上述程序运行的视角来看,所谓的系统底层能力,核心在于对内存位置的定位能力。C语言用于对内存进行定位的“武器”就是指针。一言以蔽之:C语言之所以引入指针,是由C语言诞生的历史背景和所要承载的历史使命决定的—开发操作系统,要用强大的操控系统底层的能力,系统底层的核心是对内存的定位操作。3.子问题2的分析很多同学被指针搞懵的原因在于:大陆的。

C语言中:->只能用在指针吗?谢谢 应该说'->;'前面的东东只能是指针,或者强制转为指针的变量。

C语言中指针变量只能存储地址? 存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。假设在程序中声明了1个int型的变量a,其值为68。系统为变量a分配的首地址为0X65FDF4H,pa是存放变量a地址的指针变量,即pa中存放的值为0x065FDF4H。对变量a的访问有两种方式:一是直接按地址0x065FDF4H找到a的存储单元,从而对变量a进行访问;二是按系统为pa分配的地址先找到pa,然后根据pa的值(即变量a地址0x065FDF4H)找到变量a在内存中的存储单元,从而对变量a进行访问。对于前一种访问方式称为直接访问方式,后一种访问方式称为间接访问方式。如果一个指针变量存放的是某个对象的地址,则称这个指针变量指向该对象。在C++程序设计中,指针变量只有确定了指向才有意义。1.定义指针变量的一般形式如下:类型名*指针变量名1,*指针变量名2,.*指针变量名n;2.空指针空指针是一个特殊的指针,它的值是0,C语言中用符号常量NULL(在stdio.h中定义)表示这个空值,并保证这个值不会是任何变量的地址。空指针对任何指针类型赋值都是合法的。一个指针变量具有空指针值表示当前它没有指向任何有意义的东西。3.void指针(void*)。

c语言中说指针只能做加减法,为什么我用的时候就乘除也可以啊?有违常理啊。 指针可以当作整数的。就是特殊的整数。用*的时候可以读地址的内容

C语言中:->只能用在结构体的指针中吗?谢谢 C语言没有类,所以只有结构体和联合体用这个。但联合体不要乱用,联合体的字段共用一个存储空间,用错了数据会读错。

c语言中说指针只能做加减法,为什么我用的时候就乘除也可以啊?有违常理啊。 include\"stdio.h void main() { int s,z,*i,*y;定义两个指针变量*/ scanf(\"%d%d\",&i,&y);请求用户输入两个数值*/ s=*(&i);z=s/100;printf(\"%d%d\",z,*(&y));。

在C语言中是不是任意的同类型指针都可以比较大小,为什么? 指针变量无非就是一个表示内存地址的长整数而已,当然可以比较。指向同一个数组时,两个指针的大小就表示谁指向的元素靠前或靠后。如果不是指向同一个数组,比较大小就只能看出谁指向的内存空间地址较小,没什么意义。

#指针#c语言程序设计#变量#指针变量#c语言指针

随机阅读

qrcode
访问手机版