本文最后更新于2022年02月19日,已超过8天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
如果在程序中定义了一个变量,在对程序进行编译时,系统就会给该变量分配内存单元
i=3;
*i_ad=3;
其中 *i_ad
表示 i_ad
指向的对象类型
*指针变量名;
int *addr_a, *addr_b;
addr_a = &a;
正确的通过指针变量访问整型变量。
#include <stdio.h>
void main() {
int a = 10, b = 100;
int *addr_a, *addr_b; // 定义指针变量
addr_a = &a; // 使addr_a指同a
addr_b = &b; // 使addr_b指同b
printf("a = %d, b = %d\n", a, b); // 直接输出 a,b的值
printf("addr_a = %d, addr_b = %d\n", *addr_a, *addr_b); // 间接输出 a,b的值
}
p = &a;
p = &a;
*p = 1;
printf("%o", p);
以八进制输出a的地址#include <stdio.h>
void main() {
int a,b,c,d,e,*p;
a = 100;
p = &a;
b = *&a;
printf("a=%d\n", a);
printf("p=%d\n", p);
printf("*p=%d\n", *p);
printf("*&a=%d\n", b);
c = (*p)++;
printf("(*p)++ = %d\n", c);
printf("a = %d\n",a);
}
#include <stdio.h>
void main() {
int m, n, *p1 = &m, *p2 = &n, *phint = NULL;
m = n = 6;
printf("m=%d,n=%d\n", m, n);
printf("*p1=%d,*p2=%d\n", *p1, *p2);
printf("p1=%d,p2=%d\n", p1, p2);
printf("phint=%d\n", phint);
}
#include <stdio.h>
void main() {
int m, n, *p1 = &m, *p2 = &n, *phint = NULL;
m = n = 6;
*p1 += 3;
p2 = p1;
*p2*=4;
phint = p2;
printf("*p1=%d,*p2=%d\n", *p1, *p2);
printf("p1=%d,p2=%d\n", p1, p2);
printf("m=%d,n=%d\n", m, n);
printf("phint=%d\n", phint);
printf("*phint=%d\n", *phint);
}