- 博客(9)
- 收藏
- 关注
原创 C语言程序设计知识点
int a[5] 合法,最正常的数组 int a[1+1] 合法,个数是常量2,是个算术表达式 int a[1/2+4] 合法,同样是算术表达式。fun(int *a,int *b) 可以发现函数前面有个*,这个就说明函数运算结果是地址 { if(*a>*b)return a;是假的不执行 else if(a= =0) 是假的执行 if(a)b+=2;
2024-12-18 20:53:47
1457
1
原创 strlen函数作用于一个整型数组的用法
然而,这种做法是不正确的,因为 strlen 函数是用来计算以空字符(\0)结尾的字符串的长度,而不是用来获取数组的长度。代码中的数组 arr 被初始化为 {1, 2, 3, 4, 5, 0}。数组中的最后一个元素是 0,这可能会被误认为是字符串的结束标志,但事实上,arr 是一个整型数组,不是字符串。所以当读取到第二个字节00000000(也就是0)时,它会认为这是字符串的结束标志,并返回到这个位置的字节数,即为 1(从数组的起始地址到第一个 0 的位置)。
2024-12-10 11:36:33
789
原创 C语言的二维数组的本质
arr + n就表示第n - 1行的地址,所以arr [ i ]相当于*(arr + i)的结果是arr数组(数组名)或者是arr数组的首元素的地址,arr [ i ] [ j ] 就相当于* ( * (arr + i) + j ),结果是就是第i - 1行的第 j - 1个元素。二维数组可以认为是元素为一维数组的数组,那么arr为数组名,他表示此二维数组的首元素的地址(也就是第一行的元素所组成的数组的地址),可以将二维数组的第一行看作为二维数组的首元素。arr数组内容可以看作为。
2024-12-08 17:05:10
259
原创 C语言:常量字符串初始化指针和字符数组时怎么开辟空间
先用常量字符串"abcdef"去定义字符数组str1、str2和指针变量str3、str4,但此时的str1、str2、str3、str4都表示常量字符串的首元素的地址,那么就相当于若第一个"abcdef"和第二个"abcdef"的首元素的地址相同,也就是两个”abcdef“为他一个空间(即两个"abcdef"完全相同)就打印出1,否者打印2,后面类似。两个内容相同的常量字符串初始化指针变量时,只需要保留一份。但str1和str2是两个独立而完全不同的两个数组,内容相同但是开辟两块不同的空间。
2024-12-03 09:26:23
147
原创 C语言:对常量字符串的修改(指针、字符数组)
①在这里指针变量a是字符串“abcdef”,但是“abcdef”在作表达式是,它的值为首元素‘a’的地址,当对*a赋值为‘w’(也就是将字符串的首字符a换为w),再打印出来,程序运行后未打印出任何结果。本来指针指向常量字符串时,常量字符串不能修改。直接把它用const修饰,const放在*的左边是让指针指向的内容(在这里时常量字符串)不能改变,而且会报错,能让我们第一时间发现问题。②当常量字符串初始化字符数组时,可以将常量字符串修改。
2024-12-03 08:50:57
375
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人