指针内容很多,多打代码!
这里我会给大家推荐几本电子书:
file:///C:/Users/xiaoliang/AppData/Local/Temp/Wiz/e835218b-ff81-483b-90e0-7b8314898683_128_files/6492605.png 主要是:C语言指针精髓,指针编程之道,还有C语言指针详解这三本!
C语言中指针就两个个操作符:一个*,一个&!
1.内存和地址2.值和类型
3.指针变量的内容
4.间接访问操作符(解引用操作符)*
5.取地址操作符号&
6.未初始化和非法指针
7.null(0)指针
重点:指针就是地址!!
int *p 类型说明符 *变量名;
其中,*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变量的数据类型。
定义了个指向整型类型的指针变量 p
*---->表示这是个指针变量
p----->表示指针变量就是个地址 与 int a里的类似
*p---->表示地址所指向的变量,*-->表示间接访问(解引用操作符)
file:///C:/Users/xiaoliang/AppData/Local/Temp/Wiz/e835218b-ff81-483b-90e0-7b8314898683_128_files/6251693.png
***************************************************************************************************************
代码1:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a, b, c;//4个字节--》4个地址
float d, e, f;//4个字节--》4个地址
char A, B, C;//一个字节--》一个地址
a = 11;
b = 12;
c = 20;
d = 10.5;
e = 11.3;
f = 33.3;
A = 'A';
B = 'B';
C = 'C';
printf("a的值:%d\n", a);
printf("a的地址:%d\n", &a); //4字节,1个字节8位,每个字节是一个地址
//8gb b字节, g = 1024m=1024k=1024b //0,1,2,3,4.......40亿
printf("b的值:%d\n", b);
printf("b的地址:%d\n", &b);
printf("c的值:%d\n", c);
printf("c的地址:%d\n", &c);
printf("d的值:%f\n", d);
printf("d的地址:%d\n", &d);
printf("A的地址:%d\n", &A);
printf("B的地址:%d\n", &B);
printf("C的地址:%d\n", &C);
system("pause");
return 0;
}
http://www.bcwhy.com/thread-21598-1-1.html****************************************************************************************************
代码2:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a, b;
int *p, *q, *k;//p是个地址(指针变量)p指向数据类型为整型地址变量
k = NULL;
a = 11;
p = &a;
printf("a = %d\n", a);
printf("a的地址 = %d\n", &a);
printf("a的地址 = %d\n", p);
b = 20;//对应一个地址
q = &b;
printf("b的数值:%d\n", *q);
*q = 22 - 10;//12
printf("*q = %d\n", *q);//12
printf("b的数值:%d\n", b);//12
//printf("%d\n", *k);
system("pause");
return 0;
}
end!
**********************************************************************************************************
视频讲的不太仔细,因为涉及内容很多,建议大家多看看书和百度下比较好,最后不要忘了敲代码!
视频地址http://www.bcwhy.com/thread-21598-1-1.html