问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言指针变量问题

发布网友 发布时间:2022-05-16 13:26

我来回答

5个回答

热心网友 时间:2023-10-17 20:36

c 语言中,形式逻辑不成立,指针书写的外形,在声明中和在语句中,外貌相同,意思不同!
int *ptr; 这是声明,声明 ptr 是指针,用于指向 int 型变量。
语句中 *ptr 表示 指针指向的数值, ptr 表示 指针指向的地址。有*的是值,没星号的是地址。
ptr=(int *)malloc(num * sizeof(int)); 这是动态分配,分配了num个int型数值的存放空间,ptr 表示 指针指向的地址(分配了的空间的“始地址”)
你也可以理解成,定态声明了数组: int ptr[num]; 数组名ptr, 有 num个元素。
scanf("%d",&ptr[i]); ptr[i] 是数组第i号元素的值。&ptr[i] 是数组第i号元素的地址。
printf("%d",ptr[i]); 输出 ptr数组第i号元素的值.
---
深入理解:
语句里,ptr[i] 里的[] 实质上是运算符,ptr[i] 等价于 *(ptr+i)。是值。
语句里,&ptr[i] 等价于 (ptr+i) ,是地址。等于: ptr的地址+i * sizeof(int)。

热心网友 时间:2023-10-17 20:37

ptr申请了num个int型内存区域后,int *ptr就等价于int ptr[num]。
scanf("%d",&ptr[i])的意思是获取你输入的整数,赋值给ptr[i]。
printf("%d",ptr[i])输出的并不是ptr指针,而是ptr[i]的值,因为数组可以用下标取值。
ptr是指针变量,但是ptr[i]不是指针变量,ptr[i]可以理解为一个int型变量。
使用scanf存入时,&并不是加在ptr上,而是加在ptr[i]上,取的是ptr[i]的地址。[ ]的运算优先级高于取地址符&。

热心网友 时间:2023-10-17 20:37

1、给指针变量赋初值在语法上是没有错误的,编译执行也可以通过,但是一旦代码量增多后,很容易造成指针的错用,为了防止这一问题最好将指针变量定义的时候就置成NULL,这样做是为了代码安全着想。 2、指针定义后就会随机指向一个位置的,编译的时候也不会提示错误,程序短很容易找出来,长了多了就难找了,所以这是一个好习惯吧。

热心网友 时间:2023-10-17 20:38

scanf("%d",&ptr[i])是从键盘读入一个十进制整数,并存入到数组元素ptr[i]中。
int *ptr=NULL;
ptr=(int *)malloc(num * sizeof(int));
是根据输入的num的大小动态申请数组的方法。ptr是一个指针(同时也是ptr数组的数组名)
相当于静态申请数组
int ptr[num];
的作用,只是这两都分别从系统的位置不同区域申请内存(初学者可暂时忽略这一点,使用上是完全一样的)。
ptr[i]就是这个数组中的一个成员,加上取地址符&,就是告诉C系统,读取到的数据要存放的位置,
scanf("%d",&ptr[i]);完全等同于scanf("%d",ptr+i);---------scanf函数的使用格式如此,必需要使用数据存放地址的。

热心网友 时间:2023-10-17 20:39

int *ptr是指针,malloc了num个int后,ptr指向这段连续的内存,ptr其实就是num个int的数组的头指针,也可以将ptr认为元素是int的数组。[]符号你可以认为是取值操作,那么ptr[0]或者*(ptr)就是第一个元素,ptr[1]或者*(ptr+1)就是第二个元素...
scanf("%d",&ptr[i])就是依次对这个数组(连续的内存)赋值。
scanf的函数定义,这里是个地址,也就是指针,&是取地址操作,也可以写成scanf("%d", ptr+i);
printf("%d",ptr[i])是输出第i个元素(连续内存的第i个值)
c语言指针赋值问题?

选项A,指针变量需要赋值一个变量的地址,A选项中将x变量的地址赋值给指针变量pb,B选项不能将一个变量直接赋值给指针变量。选项C,C选项中的赋值语法是错误的,正确的赋值语法应该是和A选项相同。D选项的错误类型和C选项的类似,所以综合以上分析,正确的答案为A。

C语言 指针变量

1)先看变量q的定义:int *q ;q是一个指针(地址),在指针(地址)所指向的位置存放了一个整型值 2)再看答A:q = n;这个赋值表达式表示,将变量q赋值为变量n,而n的定义为 int n 初值为2 3)答案A错误的原因:按照1)中的定义,q的值只能是地址,而q=n却将整型变量值直接赋给地址。

c语言中指针变量的作用?

int main(){int num;double sum = 0;int count = 0;while(scanf("%d", &num) && num != -1)//输入-1停止} {sum += num;count++;} printf("%f", sum / count);return 0。

C语言中的指针为什么会改变变量的值?

pa=&a;句是将指针*pa指向变量a。pa存放的是a的地址,*pa其实就是a,可以理解为把a换了一个名字表示。*pa=20就是对a进行赋值操作,等于a=20;a的值当然改变了。看看指针的知识吧!

C语言中指针能当变量使用吗?

C语言里,所有变量空间都是在程序运行之初向系统申请的,包括指针,除了一些动态申请方式如malloc函数。没有申请的空间系统是不允许读写的。那么如果一个数组大小是变量定义,则在程序运行前不能确定数组大小,也就无法申请,故不允许。所以,解决的办法便是通过malloc函数,即 int a[n];可改为 int* ...

如何用c语言编写一个指针变量?

在C语言中,指针变量是一个存储其他变量地址的变量。以下是如何在C语言中声明和初始化一个指针变量的示例:在这个例子中,我们首先声明并初始化了一个整数变量 num。然后,我们声明了一个指针变量 ptr。接着,我们使用 & 运算符获取 num 的地址,并将这个地址赋值给 ptr。最后,我们使用 printf 函数...

C语言指针问题

假如 P 是指针 那么 *p 就代表变量。 而&a是地址, *p=&a 就是把地址给变量,当然不正确了,因为地址只能给指针。p2,*p1都是变量,变量之间互相赋值是正确的。“原因是被赋值的指针变量前不能再加*说明符”这句话的意思是:如果 给 指针P加上“*”,那么它就变成 了变量,代表的意义...

c语言程序指针问题

C语言规定,一个指针变量只能指向同类型的变量,不能时而指向一个整型变量,时而 指向一个字符型变量。当然,如果程序中确实需要进行不同类型的 指针变量进行赋值时, 则需要进行强制类型转换。3、混淆指针变量和它所指向的数据而导致程序错误如在程序main(){int ...

C语言指针问题。

这是一个运算顺序的问题。注意括号的运用。(1) ++(*pointer)是先取值,再自增,当前pointer指向的是位置arr[3],取值后是2,*pointer的结果是2,2再自增,当然会得出3。值得说明的是,这个括号是可以省略的,此处括号只起到增加程序可读性的作用。(2)*(pointer-2)是先移动指针,再取值。

C语言指针问题

一、如有定义char y[4]= "321"则表达式 *y+2的值是'5' 。分析:y是字符串数组首元素'3'的地址,*y的值就是字符'3',再加上2,就是字符'5'(也可以说是字符'5'的ASC码值)。二、 如有定义char z[2][4]={"MAT", "LAB"};,则表达式*(*z+2)的值是 'T'。分析:z是二维字符...

c语言指针变量 指针与指针变量 指针和指针变量的区别 一个变量的指针是指 c语言指针赋值 c语言什么是指针 c语言定义指针 c语言指针的用法 c语言指针的作用
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
和男朋友在七夕前一晚吵架是什么体验? 智慧景区建设内容有哪些 智慧景区智慧景区概念和内涵 建设智慧旅游景区有什么好处呢,景区电子门票有用吗 同性之间你大学经过最撩的一件事情是什么? 在角落窥视到的体育生和学霸的基情 ...通知后买家又不肯补运费差价,卖家该怎么办? ...一个手机买家非说我手机屏幕有问题,要我补钱给他,我该怎么办... TCL电视保修期内坏了厂家无法修复报废,让我补差价 ...补了差价淘宝卖家迟迟不给发货我该怎么办? Think+Rad+E14+尺寸是多少 C语言怎么让指针指向某个变量 c语言中指针变量怎么理解?怎么用? 联想E14okcd的屏幕刷新率 e14显示器屏幕抖动 C语言指针变量 c语言指针变量? 手机锁屏时的息屏时间怎么设置? 我用的是小米8,我晚上睡觉会切断WiFi,但手机不会关机。想知道息屏和锁屏哪个更耗电,谢谢! 我感觉手机锁屏跟息屏是一样的啊,两个操作后显示的结果一样啊。我的理解对不对呢??? 息屏和锁屏有什么区别 锁屏,熄屏是一回事吗? 设置息屏与锁屏 from cover to cover字典上表示“从头到尾”,只能是指阅读书籍么? cover to cover move the cover from the iar cover作为庇护所是可数名词吗 covers翻译 cover的六种用法并且造句 “cover”的用法和意思是? C语言中指针变量的问题 c语言指针变量中行指针和列指针是什么?要如何使用? 索尼E14P14寸的选1600*900的分辨率好还是1366*768的就可以了?两者会差很大么????急!!!! C语言字符指针变量 杰克缝纫机死机后屏幕显示E-14是什么意思 ASP 如何采集使用JS来显示出来的内容? 火狐浏览器firebug 按F12打不开,在tools里面也找不到,该怎么找到啊. 99年五毛钱硬币摆出个出入平安在过门石下好不好? 胡一天192还是188? 为什么在爱思助手极速版里面搜索不到侠盗猎车手? 现在手机那款好? 异地怎么补办社保卡 国产车那款好 那款好啊? 那款拍照手机最好? 用ASP.NET实现网页快照 想买车了不知道买那款好? 送给女孩子的礼物,对方不要应该怎么处理 朋友之间,送礼物他不要怎么办? 初生宝宝黄胆正常值是多少?