杨辉三角
在屏幕上打印杨辉三角。
1
1 1
1 2 1
1 3 3 1
……
#include<stdio.h>
void printyanghui(int n)
{
char arr[40][40] = { 1 };
int i = 0;
for (i = 1; i < n; i++)
{
arr[i][0] = 1;
int j = 0;
for (j = 1; j <= i; j++)
{
arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
}
}
for (i = 0; i < n; i++)
{
int j = 0;
for (j = 0; j <= i; j++)
{
printf("%d ", arr[i][j]);
}
putchar('\n');
}
}
int main()
{
int x = 0;
scanf("%d", &x);
printyanghui(x);
return 0;
}
一 指针
要点
1 指针是内存中一个小单元的编号,也就是地址
2 平常口语所说的指针,通常指的是指针变量,是用来存放地址的变量
总结 指针就是地址,口语中的指针通常指的是指针变量
二 指针和指针类型
指针类型决定了它的访问权限,我们知道char类型占一个字节
字符类型指针就能操作一个字节;同理int就能操作四个字节
2.1 指针±整数
指针类型决定了向前或向后走多大距离
2.2 指针的解引用
小结 指针类型决定了,对指针解引用的时候与多大权限(能操作几个字节)例 :char* 的指针解引用就只能访问一个字节,而 int* 能访问4个
三 野指针
概念 指指针指向是不可知的(随机的,不正确,没有明确的限制)
野指针成因
1.指针未初始化
2.指针越界访问
如何避免野指针
1.指针初始化
2.小心指针越界
3.指针指向的空间释放
4.指针使用前检验其有效性