下面是C语言基础教程(我的C之旅开始了)[六]的完整攻略。
标题
C语言基础教程(我的C之旅开始了)[六]
内容
本篇教程主要讲解指针和数组的关系,具体内容如下:
指针
定义指针变量
指针是一种特殊的变量,它存储了一个地址值,可以用来访问该地址所对应的数据。定义指针变量的方法如下:
int *p;
char *q;
其中,int p表示定义一个指向整型数据的指针变量p,char q表示定义一个指向字符型数据的指针变量q。
指针的使用
指针变量的使用方法如下:
int a = 10;
int *p = &a;
printf("%d", *p);
上面的代码首先定义了一个整型变量a,并将其赋值为10。然后定义了一个指向整型数据的指针变量p,并将其赋值为a的地址,即&p。最后使用*p来访问指针所指向地址的数据,输出结果为10。
数组
定义数组变量
数组是一种存储相同数据类型的连续空间,定义数组变量的方法如下:
int a[10];
char b[20];
其中,int a[10]表示定义一个包含10个整型元素的数组a,char b[20]表示定义一个包含20个字符型元素的数组b。
数组的使用
针对数组,可以使用下标来访问数组中的元素,下标从0开始计数。例如:
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
printf("%d", a[2]);
上面的代码定义了一个包含10个整型元素的数组a,并赋初始值。然后使用a[2]来访问数组中的第3个元素,即输出结果为3。
指针与数组
指针和数组在很多情况下可以互换使用。例如,可以用指针来访问数组中的元素,也可以将一个数组变量赋值给指针变量。以下为具体的操作示例:
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int *p = a;
printf("%d", *(p+2));
上面的代码定义了一个包含10个整型元素的数组a,并赋初始值。然后定义了一个指向整型数据的指针变量p,并将其赋值为a的首地址,即&a[0]。最后使用*(p+2)来访问p所指向地址向后2个元素的值,即输出结果为3。
总结
指针和数组在C语言中是非常重要的概念,掌握了它们的使用方法对C语言程序员来说是至关重要的。本篇教程介绍了指针和数组的一些基本知识和操作方法,希望能够给大家提供帮助。
示例
示例一
#include <stdio.h>
int main(){
char str[]="Hello World";
char *p=str; //将数组变量str的首地址赋给指针变量p
while(*p!='\0'){
printf("%c",*p); //输出指针所指向地址的数据
p++; //指向下一个地址
}
return 0;
}
上面的代码定义了一个包含字符串的字符型数组变量str,并将其赋值为"Hello World"。然后定义一个指向字符型数据的指针变量p,并将其赋值为str的首地址。最后使用循环语句和*p来依次输出字符串中的每一个字符。
示例二
#include <stdio.h>
int main(){
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int (*p)[4]=a; //将二维数组变量a的首地址赋给指向一维数组的指针变量p
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
printf("%2d ",*(*(p+i)+j)); //输出二维数组中的每一个元素
}
printf("\n");
}
return 0;
}
上面的代码定义了一个包含3行4列元素的二维整型数组a,并将其赋值。然后定义一个指向包含4个整型元素的一维数组的指针变量p,并将其赋值为a的首地址,即&a[0]。最后使用双重循环语句和((p+i)+j)来依次输出二维数组中的每一个元素。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C 语言基础教程(我的C之旅开始了)[六] - Python技术站