Download presentation
Presentation is loading. Please wait.
1
本节内容 指针类型
2
1、C语言数据类型
3
1、带有*的变量类型的标准写法:变量类型* 变量名。 2、任何类型都可以带* 加上*以后是新的类型 ,统称“指针类型”。
2、定义带“*”类型的变量 char x; short y; int z; float f; double d; Student st; char** x; short** y; int******** z; float***** f; double** d; Student* st; 总结: 1、带有*的变量类型的标准写法:变量类型* 变量名。 2、任何类型都可以带* 加上*以后是新的类型 ,统称“指针类型”。 3、*可以是任意多个。
4
3、指针变量赋值 char* x; short* y; int* z; Student* s; x = (char*)1;
y = (short*)2; z = (int*)3; s = (Student*)4; char*** x; short*** y; int*** z; Student*** s; x = (char***)1; y = (short***)2; z = (int***)3; s = (Student***)4; char********* x; short********* y; int********* z; Student********* s; x = (char*********)1; y = (short*********)2; z = (int*********)3; s = (Student*********)4; int******* x; int******* y; x = (int*******)4; y = x;
5
指针类型的变量宽度永远是4字节、无论类型是什么,无论有几个*。
4、指针变量宽度 char x; short y; int z; x = 1; y = 2; z = 3; char* x; short* y; int* z; x = (char*)1; y = (short*)2; z = (int*)3; char********** x; short********** y; int********** z; x = (char**********)1; y = (short**********)2; z = (int**********)3; 总结: 指针类型的变量宽度永远是4字节、无论类型是什么,无论有几个*。
6
1、不带*类型的变量,++或者-- 都是加1 或者减1 2、带*类型的变量,++ 或者 -- 新增(减少)的数量是去掉一个*后变量的宽度
5、指针类型自加和自减(++ / --) char a ; short b ; int c ; a = 100; b = 100; c = 100; a++; b++; c++; printf("%d %d %d",a,b,c); char**** a ; short**** b ; int**** c ; a = (char****)100; b = (short****)100; c = (int****)100; a++; b++; c++; printf("%d %d %d",a,b,c); 总结: 1、不带*类型的变量,++或者-- 都是加1 或者减1 2、带*类型的变量,++ 或者 -- 新增(减少)的数量是去掉一个*后变量的宽度
7
1、指针类型的变量可以加、减一个整数,但不能乘或者除. 2、指针类型变量与其他整数相加或者相减时:
6、指针类型的加减运算 char* a ; short* b ; int* c ; a = (char*)100; b = (short*)100; c = (int*)100; a = a + 5; b = b + 5; c = c + 5; printf("%d %d %d",a,b,c); char**** a ; short**** b ; int**** c ; a = (char****)100; b = (short****)100; c = (int****)100; a = a + 5; b = b + 5; c = c + 5; printf("%d %d %d",a,b,c); 总结: 1、指针类型的变量可以加、减一个整数,但不能乘或者除. 2、指针类型变量与其他整数相加或者相减时: 指针类型变量 + N = 指针类型变量 + N*(去掉一个*后类型的宽度) 指针类型变量 - N = 指针类型变量 - N*(去掉一个*后类型的宽度)
8
指针类型可以做大小比较,并且是作为无符号进行比较的
7、指针类型的比较 char**** a ; char**** b ; a = (char****)200; b = (char****)100; if(a>b) { printf("1"); } else printf("2"); 总结: 指针类型可以做大小比较,并且是作为无符号进行比较的
9
0512-57882866 www.bcdaren.com 昆山爱达人 1250121864 昆山爱达人信息技术有限公司 视频录制:
视频提供 视频录制: 联系电话: 官网地址: 联系公众号: 昆山爱达人 联系QQ: 编程达人APP:
Similar presentations