右侧
当前位置:网站首页 > 资讯 > 正文

p=ac语言,api c语言

作者:admin 发布时间:2024-04-17 01:33 分类:资讯 浏览:12


导读:在C语言中,*P=a,**q=&p是什么意思1、inta=20,*p,*q=a=q;intp,*q;q=A.正确:(1);不正确:(2)(3)(4)。B.正...

在C语言中,*P=a,**q=&p是什么意思

1、int a=20, *p, *q= a=q;int p, *q; q=A. 正确:(1); 不正确:(2)(3)(4)。B. 正确:(1)(4); 不正确:(2)(3)。

2、首先,你提到的所有p应该是一个类型,也就是 int *p 即,整型指针类型,该类型与一维整型数组等效,即int []然后一个个来 第一个,只有用在定义的时候才是对的,int *p=a;意思是定义int*类型的p,初始化为a。

3、指针的移动是以这个指针指向的变量类型的长度sizeof(type)为单位的,如果这个类型长度为4,那么指针增加1,就是向后移动4个字节。反过来计算两个指针之间距离的时候,也是以sizeof(type)为单位的。

4、首先“p=a, q=b”是赋初值,就是开始循环时q,p的初始值。

5、一般来说*p=&a的表示方法是错的,*p=a和p=&a是正确的。*p=a的意思:将a的值赋给p指针指向的地址的值;p=&a的意思是:将a的地址赋给指针p;区别:*p是一个值;p是一个地址;两者完全不相同。

6、定义语句 float a[5], *p, *q; p=q=a; 表示定义了一个名为a的浮点型数组,其中包含了 5 个元素,同时定义了两个指向 float 类型的指针 p和 q ,并将他们都指向了 a 数组的首元素。

C语言*p=a和p=a的区别

1、当然有区别,区别很大,*p=a,就是给指针的表示的地址赋值,也就是赋值给指针指向的存储单元;而p=a,则表示给指针赋值,也就是指针的地址变成了a。两者一个指明了具体值大小,一个指明了具体位置。

2、c语言是一种面向过程的编程语言,而c++主要是面向过程的,因此c++有类的概念,而c语言就没有。c++的功能强大,编译器复杂,适合高端程序的设计和编辑,c语言的编译器简易,适合低端程序。

3、p = a[0],表示向地址为p的内存区域赋值为a[0]。p = a[0],把变量p的值改为a[0],这个语句正常应用中是错误的。变量p的值为内存地址,这样赋值会丢掉p原来指向的内存。正确给内存地址赋值应该使用第一句。

4、一样的、一个是在定义中赋值、一个是先定义在赋值。

C语言中数组指针关于p=a,p=&a等问题!!

1、c语言中*p=a是指针变量赋值语句,这种写法有两种可能意思:指针变量定义时的初始化赋值 int a[10];int *p=a ; //这时的a是个地址,如:数组名或指针变量,表示定义指针变量p,同时,p指向地址a。

2、在数组中,数组名表示首地址常量。a等同于&a[0]。所以p=a。就是p指向a首地址。p=&a是错的,a已经是地址里。可以写p=&a[0]。

3、p=a; //使int*指针p指向数组a的首元素,即a[0]的地址—&a[0]。

C语言指针问题:在定义指针时*p=a和p=a有区别吗?

1、在c语言里 *p=a 是使用在声明指针变量的同时给它赋初值。p=a;是在已经声明了指针变量以后,再给它赋初值。这两者是有区别的,不能通用的。

2、c语言是一种面向过程的编程语言,而c++主要是面向过程的,因此c++有类的概念,而c语言就没有。c++的功能强大,编译器复杂,适合高端程序的设计和编辑,c语言的编译器简易,适合低端程序。

3、p = a; 是一个赋值过程,将p指向的内存赋值为a的值,也就是a的地址。p = a; 也是赋值,是将p指向a的内存,也就是p指向a了,后续使用p[0]也就是a[0]。

标签:


关灯