- 博客(4)
- 收藏
- 关注
原创 c语言学习笔记:数组名
一个数组的数组名在大部分情况下其实代表着这个数组的首元素地址。但有两个例外:例外一:sizeof(arr)如果数组名被sizeof()操作时,数组名代表的是整个数组,计算出来的结果是整个数组的大小。例外二:&arr对数组名进行取地址操作时,得到的是整个数组的地址。
2023-09-05 00:37:29
261
原创 c语言学习笔记:数组指针
数组指针,其本质是指针变量。其实就是指向数组的指针变量,用来存放一个数组的地址。int main()//创建一个二维数组//定义一个数组指针return 0;在之前我们通常用指针接收数组首元素(此处的指针是整型指针变量),这时的数组是一维数组。如下int main()//创建一个一维数组//定义一个指针return 0;注意两种定义方式的区别://方式一//方式二注意,在这里为什么不用方式一定义呢?实际上,试一下就知道,如果在接收二维数组的数组名时使用方式一的话,编译是不会通过的。
2023-09-04 23:49:36
247
原创 c语言报错笔记:[Warning] deprecated conversion from string constant to ‘char*‘
另一种修改方式是对常量字符串进行强制类型转换,转成(char*)类型,意思是告诉编译器不需要编译器来判断类型,我们清楚这样修改的后果是什么。所以一种修改方式是先将字符串赋值给char型的数组变量,再将此数组传给my_strlen()函数就行了。因为此处的string就是地址,不会出现类型不匹配的错误。这里my_strlen(char* string)本来应该接受一个指针变量的,结果这段代码中直接把一个字符串常量赋值进去了,因此报了警告。我当时想着何必先要创建一个变量接收函数值,然后再将函数值打印呢。
2023-09-02 16:35:29
2401
1
原创 c语言报错笔记:使用scanf(“%d\n“, &x)时遇到的错误
尝试读取并匹配输入中的换行符,直到输入非空白字符为止(输入另一个非空白字符后scanf会进行下一次读取)。并且缓冲区中的1是怎么遗留下来的?可以看到在左侧的变量监视窗口中x的值确实为1。从结果来看应该是缓存区中的1未被及时读取,而是被Playermove中的scanf读取了。于是我询问了同学,提出应该是scanf("%d\n")中,加上了换行符\n,这样会导致。(2)输入坐标2 2时,本应在坐标2行2列位置填充*号,但输出结果却显示在1行2列。(1)在一开始需要输入两次1才能继续执行程序。
2023-08-30 21:45:00
197
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人