
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
“这个世界都是由代码组成的。”这是程序员的格言,随着互联网的快速发展,世界已经进入了电子信息时代,而程序员也成为了新时代产业下所产生的火热职业,现在大学都会开放一门变成的基础课,C语言。这对于大学生逻辑思维具有很棒的好处,同样对于要入门编程大海的未来的程序员,也是一个很棒的入门机会,今天烟台C#培训小编就为大家带来,C语言程序设计基础,希望大家喜欢!
指针类型的关系运算
指向相同类型数据的指针之间可以进行各种关系运算;
指向不同数据类型的指针,以及指针与一般整数变量之间的关系运算是无意义的;
P.S.可以和零之间进行等于或不等于的关系运算,来判断是不是空指针.
例如:p==0或p!=0
用指针访问数组元素
int a[10], *pa;
pa=&a[0]; 或 pa=a;
pa就是a[0],(pa+1)就是a[1],... ,*(pa+i)就是a[i];
a[i], *(pa+i), *(a+i), pa[i]都是等效的。
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
1.
for (int i = 0; i < 10; i++)
cout << a[i] << " ";
2.
for (int *p = a; p < (a + 10); p++) //此处a为首地址,a+10此处运算类似指针的算术运算,是地址往后移动10个a类型的长度
cout << *p << " ";
3.
for (int i = 0; i < 10; i++)
cout << *(a+i) << " ";
4.
for (int *p = a,i=0; i<10; i++)
cout << p[i] << " ";
指针数组
int main() {
int line1[] = { 1, 0, 0 }; //矩阵的第一行
int line2[] = { 0, 1, 0 }; //矩阵的第二行
int line3[] = { 0, 0, 1 }; //矩阵的第三行
int *pLine[3] = { line1, line2, line3 }; //定义整型指针数组并初始化
//输出矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++)
cout << pLine[i][j] << " "; //此处pLine[1]等价于数组名line1,所以可以套用“数组名+下标”的方式表示数组中的某一个数据,即pLine[0][1]等价于line1[1];
cout << endl;
}
指针数组与二维数组的显著区别在于:
二维数组的每一个行都是等长的;
而指针数组是用多个一维数组进行堆砌,形成一个类似二维数组的集合,每一行可以不等长;