指针入门
- 基本数据类型,都有对应的指针类型
指针的数据类型 int *
#include<stdio.h>
//讲解指针的入门
void main() {
int num = 1;
//定义一个指针变量,指针
//int*表示类型为指针类型(执行一个int类型指针)
//名称是ptr,ptr就是一个int*的类型
//ptr指向了一个int类型的变量的地址
int* ptr = #
//num的地址是多少
//如果要输出一个变量的地址,使用的格式是%p
//&num表示取出num这个变量的地址
printf("num的值=%d\tnum的地址是=%p", num, &num);//num的值=1 num的地址是=00B7F874
//指针变量,本身也有地址
printf("\nptr的地址是%p\tptr存放的值是一个地址%p\tptr指向的值=%d", &ptr,ptr,*ptr);//ptr的地址是00DAF7C0(里边存的内容是00B7F874)
getchar();
}
值传递和地址传递
- C语言传递参数可以是值传递,也可以传递指针,传递指针也叫地址传递
- 默认传递值的类型:基本数据类型(整数类型、小数类型,字符类型),结构体,共用体
- 默认传递地址:指针、数组
#include<stdio.h>
void main() {
int num = 10;
printf("num的值是%d", num);//num的值是10
int* p = #
printf("\nnum的地址值是%p", &num);//00CFF84C
printf("\n*p=%d", *p);//10
int* p2 = p;
*p2 = 55;
printf("\np2的地址值是%p", &p2);//p2的地址值是00CFF834
printf("\nnum的值是%d", num);//55
printf("\n*p2=%d", *p);//55
printf("\np2中存放的地址是%p", p2);//p2中存放的地址是00CFF84C
}