意思就是说,定义一个指针变量p,p内保存的是值是1 也就是说,p内保存的是地址,而保存的地址是多少呢,地址就是1,再确切点就是地址是0x00000001,如果 你取*p,则实际访问的是地址为0x00000001为首地址的 一个int大小的内存块
因为int*/char*只能存地址,字符串在C里本身就是以地址形式存的,但int不是地址
int i = 1; // 定义int变量 i 的值为 1 (1)int *p; // 定义指向int的指针 p (2)p =...
int *p; *p = 1 为什么不能用? int *p;定义了一个指针p,然而p并没有指向任何地址,所以当使用*p时是没有任何地址空间对应的,所以 *p=1 就会导致,不知道把这个1赋值给哪个地址空间了。int *p; p = 1; 为什么能用? int *p; 定义了一个指针p, p = 1; 意思是将一个内存地址为1的...
百度试题 题目设int *p , I ;以下正确合理的语句是( )。 A. *p=10; B. i=p; C. i=*p; D. i=2*p+1; E. (√) 参考答案:A 相关知识点: 试题来源: 解析 A.*p=10; 反馈 收藏
这里p指向一个数组,*p的意思是首地址的值,如a[], p=a, 那么*p相当于a[0], *p+1就相当于a[0]+1, 而*(p+1)就相当于a[1]下面的i是数组名,所以printf("%d", i)的意思是输出i数组的首地址的值。如果要输出i[0]的值,可以printf("%d", i[0]), 或者printf("%d", *i)...
int* p p是一个指针变量,指向int类型对象 const关键字,除非右边是一个类型说明符,那么它作用于该类型说明符,否则作用于左边的符号 const int * p 这里const右边是int类型说明符,所以作用于int,a是一个指针变量,指向const的int类型变量 *p=1这样使用将会报错,因为指向的那个变量是只读的,无法修改 ...
{ int p; p=*p1;*p1=*p2;*p2=p; } main() { int a=5,b=7,*ptr1;*ptr2; ptr1=&a;ptr2=&b; swap(ptr1,ptr2); printf("*ptr1=%d,*ptr2=%d ",*ptr1,*ptr2); printf("a=%d,b=%d ",a,b);} 运行结果:___相关知识点: 试题来源:...
问题1:temp可以理解为指向数组的指针,这个数组中存放的是int型的指针,其实所谓的指针都可以理解为地址,例如int a = 0 ;int *p=&a;那么p就是一个整形指针,p的实际值就是a在内存中的位置。假如 int temp[3][3]={{0,1,2}{3,4,5}{6,7,8}},那么整个数组在内存中的大概样子如下图...
所以直接写*p=1实际上是通过间接的方式,给p所指向的整形地址的值赋值 因此,使用指针之前要对其进行...