int *p1,*p2; p1=(int *)malloc(10); p2=p1+2; printf("p1=0x%x,p2=ox%x",p1,p2); 程序运行后结果p1=0x50求p2=?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/21 22:13:37
int*p1,*p2;p1=(int*)malloc(10);p2=p1+2;printf("p1=0x%x,p2=ox%x",p1,p2);程序运行后结果p1=0x50求p2=?int*p1,*p2
int *p1,*p2; p1=(int *)malloc(10); p2=p1+2; printf("p1=0x%x,p2=ox%x",p1,p2); 程序运行后结果p1=0x50求p2=?
int *p1,*p2; p1=(int *)malloc(10); p2=p1+2; printf("p1=0x%x,p2=ox%x",p1,p2); 程序运行后结果p1=0x50
求p2=?
int *p1,*p2; p1=(int *)malloc(10); p2=p1+2; printf("p1=0x%x,p2=ox%x",p1,p2); 程序运行后结果p1=0x50求p2=?
首先定义两int型指针
其次开辟10个字节的内存空间,函数返回值是int*(其实这里有强制转换的概念)
再有p2=p1+2,这里2可以说是地址偏移量,但是这里的2不是2个字节,而是2*(sizeof(int))个字节,因为p1,p2指向的是int型的数据,如果P1输出是0x50,则P2为0x58,(0x54)//
int *p1,*p2; 与 int *p1,p2
swap(int *p1,int *p2) {int temp; temp=*p1; *p1=*p2; *p2=temp; } main() { int a,b; int *pointer_1,*pswap(int *p1,int *p2){int temp;temp=*p1;*p1=*p2;*p2=temp;}main(){ int a,b;int *pointer_1,*pointer_2;scanf(%d,%d,&a,&b);pointer_1=&a;pointer_2=&b;if(a
int*p,*p1,*p2,*p=*p1,*p1=*p2,*p2=*p3哪里有错.另外p=p1,p1=p2,p2=p3呢
int a,b,*p1*p2; 请问 p1=&a和*p1=a有什么区别?
int (*p1)(
// p2 = &p1;为什么不对呢?int val = 0; int* p1 = &val; int** p2 = NULL; // p2 = &p1;
看下面:void Swap(int *p1,int *p2) { int *p; p = p1; p1 = p2; p2 = p; } 指针的用法错在哪?
int *p1,*p2; p1=(int *)malloc(10); p2=p1+2; printf(p1=0x%x,p2=ox%x,p1,p2); 程序运行后结果p1=0x50求p2=?
void fun(char *w,int m) {char s,*p1,*p2;p1=w;p2=w+m-1;#include#includevoid fun (char*w,int m){char s,*p1,*p2;p1=w;p2=w+m-1;while(p1
C语言 int *p,*p1,*p2; int a=5,b=3; p1=&5; p2=&3; *p = *p1; // 这里为什么段错误
p1=p2; \p1 的指针指向 p2,意味着p2值改变,p1值也改变 p1=p2;\我想是p1指向改变了,即p1不再指向原变量的地址,改为指向p2所指向的地址.那为什么p2的值也会变呢?#include void swap(int *p1,int *p2){int *t;t=*
#includevoid main(){int *p1,*p2,a[5]={1,3,5,7,9};for(p1=a;p1
main() { int x=10; int *p1=&x,*p2; p2=p1; printf(%d
,*p2) }这里的 *P1=&x ; 是P1指向的内容为X的地址还是 *P1就是X的值 为10
帮忙看一段程序,我不知道每一步的意思#include#include#includeint m=1;void swap(int *p1,int *p2){ int temp; temp=*p1; *p1=*p2; *p2=temp;}void fill(int *p1,int *p2,int len,int n){ if(len==n-1) { output(
void main() { int i=50,j=60,*p1=&i,*p2=&j; *p1++; printf(%d
,*p1); (*p1)++; printf(%d
,*p1);为什么不是书上的60,61呢,是不是哪里出错了?void main(){int ARRAY[]={50,60};int *p1=&ARRAY[0],*p2=&ARRAY[1];*p1++;printf(%d
,*p1);(*p1)
C语言,若有说明:int *p1,*p2,m=5,n; 以下是正确赋值语句的选项是若有说明:int *p1,*p2,m=5,n; 以下是正确赋值语句的选项是(A) p1=&m;p2=&p1;(B)p1=&m;p2=&n; *p1= *p2;(C) p1=&m;p2=p1; (D) p1=&m; *p2 = *p1 ;
c语言作业(*p &n)用法1.Study the following section of C code:int n1 = 2,n2 = 5,n3[ ] = {3,4,5,6,7};int* p1 = &n1;int * p2 = n3;*p2 = (*p1)++ + *(p2) ; p2 = &n3[3];n1 = *p1 + *(p2) + *(&n2); p1 = &n3[4];What are the values of *p1,*p2,n1,n2 an
#include#includevoid fun (char *w,int n){char s,*p1,*p2;p1=w;p2=w+m-1;while(p1