c1803 黄文博 第四次课堂笔记

本节主要学习了数组和指针
1.首先介绍数组的概念
数组:类型相同的数值集合
一般格式:int arr[n] = {};如例一。
1.2.如何使用:首先用 for 循环初始化数组
1.3数 组 名 的 含 义 : &arr+1; sizeof(arr); sizeof(arr[0]);
分别为 :数组首地址加一;求数组内存大小;求数组首元素大小
1.4 arr 和&arr 的区别和联系元素大小:
arr是数组的首地址,&arr是数组的地址,它们虽然地址是一样的,但表示的意思是不同的。
arr+1表示向后偏移一个元素大小,(&arr)+1表示向后偏移一个数组的大小。
1.5 野指针:
野指针就是没有初始化或者赋值的指针,不能进行解除引用操作()
譬如
int
p;
*p=10;//编译一般只会有警告,但是运行到这里的时候会出错
但是指针p本身的值是可以使用的,譬如可以
printf("%p",p);
但是printf("%d",*p);就是错的
int a;
int *p=&a;
*p=10;//这是合法的
int *p=new int;
*p=10;//合法的
delete p;
1.6区别sizeof()和strlen()的意思
举例:
char str[100] = “abcdef”;
char *str2 = “abcdef”;
char str3[] = “abcdef”;
char str4[100] = “abcdef\0xyz”;
char *str5 = “abcdef\0xyz”;
char str6[] = “abcdef\0xyz”;
char str7[] = “abcdef\n\0”;
char *str8 = “abcdef\n\0”;
printf("%d,%d\n",sizeof(str),strlen(str));//100 6
printf("%d,%d\n",sizeof(str2),strlen(str2));//4 6
printf("%d,%d\n",sizeof(str3),strlen(str3));//7 6
printf("%d,%d\n",sizeof(str4),strlen(str4));//7 6 100 9 /6
printf("%d,%d\n",sizeof(str5),strlen(str5));//4 6
printf("%d,%d\n",sizeof(str6),strlen(str6));//12 6 11 6
printf("%d,%d\n",sizeof(str7),strlen(str7));//11 8 11 7 9 7
printf("%d,%d\n",sizeof(str8),strlen(str8));//4 8 4 7

例题1.0
void fun1(int n)
{
int t,i;//定义变量为基本类型
int a[5]={2,4,6,8,10};//输入数组
for (i = 0; i < n/2; i++)//逐个输出
{
t = a[i];
a[i] = a[n - i - 1];
a[n - i - 1] = t;
}
for (i = 0; i < n; i++)
printf("%5d", a[i]);
}

int main()
{
fun1(5);//测试2,4,6,8,10

}

猜你喜欢

转载自blog.csdn.net/qq_43395214/article/details/83186635
今日推荐