楼主:
Wardyal (Wardyal)
2024-07-17 16:06:52void func(char* str) {
printf("%s\n", str);
}
void func(char str[]) {
printf("%s\n", str);
}
这两个应该都没差吧
还是有什幺小小的差异
char string最后都有 '\0' 应该都可以印出来?
作者:
wahaha99 (此方不可长)
2024-07-17 16:08:00你认真吗
作者:
oin1104 (是oin的说)
2024-07-17 16:10:00感觉差不多吧 都指标
作者:
bach8517 (palela)
2024-07-17 16:10:00444444444
楼主:
Wardyal (Wardyal)
2024-07-17 16:10:00认真阿 我刚刚试跑都一样 只是不知道差别
作者:
yam276 ('_')
2024-07-17 16:11:00你认真吗
楼主:
Wardyal (Wardyal)
2024-07-17 16:13:00阵列不也是一组数据 让一个指标指到头吗
作者:
wahaha99 (此方不可长)
2024-07-17 16:14:00ChatGPT 4o 说一样
楼主:
Wardyal (Wardyal)
2024-07-17 16:14:00喔喔 我是问Copilot
作者:
oin1104 (是oin的说)
2024-07-17 16:15:00呼叫的时候会有差吗比如 *str那个 不能用{a,a,a,a}直接用 但是str[]也许可以 吗 @露西亚 @二跑 @咕咕噜
作者:
wahaha99 (此方不可长)
2024-07-17 16:16:00老实说 指标这用法最好别搞了 很早以前就说过这会容易造成安全问题
楼主:
Wardyal (Wardyal)
2024-07-17 16:16:00那用哪个比较好 宣告char string的话
作者:
oin1104 (是oin的说)
2024-07-17 16:16:00问就是改用string
作者:
oin1104 (是oin的说)
2024-07-17 16:17:00韧体大师
作者:
wahaha99 (此方不可长)
2024-07-17 16:17:00韧体没办法...如果是os跟驱动, 现在趋势是Rush了我记得我当年用Keil C好像都是string
两个没有哪个比较好,指标是指标,值是值,看你要干嘛如果不知道差别就都先用值,不然会改到原来的指标
作者:
wahaha99 (此方不可长)
2024-07-17 16:19:00ChatGPT说这两个都是指标 第二种在C会转成指标传
作者:
wahaha99 (此方不可长)
2024-07-17 16:21:00应该说当年C很爱用指标 ...C说是高阶语言 但没有现代高阶语言的特性 内存管理只有做半套
作者:
yam276 ('_')
2024-07-17 16:22:00char array就是指标指向头C处理字串就是仿赛C没有字串的概念 只有字符指标字符阵列然后还有unsigned char*当普通指标用的
作者:
wahaha99 (此方不可长)
2024-07-17 16:26:00所以遇到unicode时非常操蛋 还好韧体比较少这种
作者:
ZooseWu (N5)
2024-07-17 16:34:00哪个语言的阵列会传值啊
楼主:
Wardyal (Wardyal)
2024-07-17 16:37:00C++记得可以C不行 记得
作者:
szymwf (szymwf)
2024-07-17 16:43:00函式里面的str应该是一模一样的东西 要宣告应该第二种比较好吧 比较能直观看出来要传入的值是char的阵列
楼主:
Wardyal (Wardyal)
2024-07-17 16:43:00喔喔 也是 可读性好一点
作者:
lindet (好想...)
2024-07-17 16:48:00用第一种比较好
楼主:
Wardyal (Wardyal)
2024-07-17 16:50:00= = 好