摘要: int *( *( *arr[5])())(); float ( * ( *b()) [] )(); void * ( *c) ( char, int (*)()); void ** (*d) (int &, char **(*)(char *, char **)); float ( * ( * e 阅读全文
posted @ 2024-01-11 16:07 自由小菜园 阅读(1) 评论(0) 推荐(0) 编辑
摘要: int aa一个int类型的变量 int* pp是一个指针变量,指向int类型对象 const关键字,除非右边是一个类型说明符,那么它作用于该类型说明符,否则作用于左边的符号 const int * p 这里const右边是int类型说明符,所以作用于int,a是一个指针变量,指向const的int 阅读全文
posted @ 2024-01-11 12:47 自由小菜园 阅读(3) 评论(0) 推荐(0) 编辑
摘要: +++i在C++中会怎么解释呢?先不管对错纯粹讨论运算方式 按照能找到的最长的运算符开始解释 所以会解释成++(+i) +++++i+++i++ 按照分割 ++ ++ + i ++ + i ++ 也就是++(++(+(i++)))+(i++) 首先进行i++操作,得到一个右值,该右值进行 +右值 操 阅读全文
posted @ 2024-01-06 19:54 自由小菜园 阅读(4) 评论(0) 推荐(0) 编辑
摘要: C语言下 声明不是语句 int a;声明未初始化,虽然是分号结尾,但是不是语句 int a=1;声明并初始化,也不是语句 a=1;这是一个赋值表达式语句 表达式:C语言里几乎处处是表达式,一个常量,一个变量,一些运算符和操作数的组合,都是表达式。 表达式都有值,但是不一定会求值,也就是表达式一般两个 阅读全文
posted @ 2023-12-31 19:03 自由小菜园 阅读(1) 评论(0) 推荐(0) 编辑
摘要: char arr[]={'h','e','l','l','o','\0'} 声明初始化一个字符数组。 为了方便书写,我们也可以写成语法糖形式 char arr={"hello"} 或者 char []arr="hello" "hello"是一个char []数组类型,C语言规定:数组类型对象用作表达 阅读全文
posted @ 2023-12-28 10:07 自由小菜园 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 数组的初始化可以通过下面的方式 =字符串字面量 ={表达式,……} 分别对应一些常见的方式 char arr[]="{hello}";//花括号可以省略,字符串字面量,是char的数组类型,但是用于初始化数组的时候不会发生隐适转换成指针 char *arr[]={"hello","world"};/ 阅读全文
posted @ 2023-12-26 11:30 自由小菜园 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 数组表示一块连续的特定类型对象组成的空间结构,指针通俗指代某个对象的地址(其实包含了地址和地址上对象大小两层意思),数组和指针不能等同。 也许唯一的联系是,数组的运算采用指针的方式实现。所以当我们定义一个数组array时,数组array在大多数表达式中会转换成首元素的指针。 而很多人因此称数组就是指 阅读全文
posted @ 2023-11-17 09:21 自由小菜园 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 在C语言中写字符串,我们一般这样定义变量 const char* str = "hello"; 乍看这样的赋值方式有点费解,前面是一个char*指针,str指向一个char字符的指针,而后面是一个字符串,怎么都感觉类型不一致。 其实C语言应该说没有单纯的所谓字符串类型,所谓的字符串,只不过是一个个c 阅读全文
posted @ 2022-11-18 19:48 自由小菜园 阅读(93) 评论(0) 推荐(0) 编辑
摘要: int a=3; ++a和a++什么区别呢?相同点,最后a都会增加1,区别是表达式的值不一样。 对于++或者--这样的表达式有2个作用,一个作用是计算表达式的值,另外的副作用是改变a本身的值 这两个都是表达式,++a表达式的值是a的值+1,即4,并且改变a本身的值,将a改成了4 a++表达式的值是原 阅读全文
posted @ 2022-11-13 08:56 自由小菜园 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 误解1: &运算符返回一个地址 解释: &叫做取址运算符,运算的结果是返回一个指向某个数据类型对象的指针。 int a=1; int *p = &a; &a不是地址,通过&运算符获取a的地址,并返回一个指向a的指针,&a是指向a的指针,不是把地址给指针变量p,而是把指针直接赋值给变量p 误解2: 数 阅读全文
posted @ 2022-11-12 09:53 自由小菜园 阅读(23) 评论(0) 推荐(0) 编辑