C语言程序设计进阶-浙江大学-翁恺

作者: LeslieWaong分类: 校园学习 发布时间: 2018-07-27 18:38:35 浏览:73325 次

C语言程序设计进阶-浙江大学-翁恺

爱学习的咸鱼仙尊:
我知道你一定在找这个 #include<stdio.h> int main() { int mon=0; const char *box【】={"一月 ","二月 ","三月 ","四月","五月 ","六月 ","七月 ","八月","九月","十月","十一月","十二月"}; printf("请输入一个月份的数字"); scanf("%d",&mon); printf("%s",box【mon-1】); return 0; }

【回复】回复 @PilotPeng :你这个问题让我沉思了很久,我翻了许多资料,又做了几个测试,最后得出一个结论,%s是特殊的,他输出的前面不用加*,他和别的不一样,我尝试用%c输出,发现%c前面就必须加*,我又试了%d,同样如此,所以就%s是特殊的[呲牙]
【回复】printf中的box前面为啥不加*,box不是个指针数组吗
【回复】回复 @呜叽呼噜 :有些编译器不支持,有些编译器支持[脱单doge]
脑洞大开者:
有人能解答一下 为什么在P28(链表3) 时间2.0 老师为什么说head 无法被指针修改值呢 指针变量储存的不是地址吗? 那head = 地址 这样不就满足*p 指针修改值的条件吗?

【回复】在 C 语言中,函数参数传递有两种方式:传值和传引用。 传值:在函数调用时,将参数的副本传递给函数。这意味着在函数内部对参数的修改不会影响到原始变量。 传引用:在函数调用时,将参数的引用(内存地址)传递给函数。这允许函数直接修改原始变量。 在链表的示例中,head 是作为传值参数传递给函数的。这意味着函数接收到 head 参数时,实际上获得的是 head 的副本(地址的副本),而不是 head 变量本身。 当我们尝试通过修改 head 来改变链表时,实际上是修改了 head 的副本,而不是原始的 head 变量。这个修改不会影响到原始的 head 变量,因为我们只是在函数内部修改了副本。 如果我们想要通过函数修改 head 变量,我们需要使用指向指针的指针(双重指针)或者指针的引用。通过传递指向 head 的指针的指针或者指针的引用作为参数,我们可以在函数内部修改 head 指针本身,而不仅仅是修改副本。 总结起来,如果将 head 作为传值参数传递给函数,我们只能通过修改 *p(指针所指向的值)来修改链表节点,而无法直接通过修改 head 来改变链表。如果想要直接修改 head,需要使用指向指针的指针或者指针的引用作为参数传递给函数。
【回复】指针指向的位置的值可以被修改,指针本身不可以被修改,如果想要修改这个指针,就必须借助一个指向该指针的指针
刺客-Coulson:
我咋感觉这里面的内容和C语言程序设计的内容差不多呢

账号已注销:
问一下这是那个全集里把指针之后的东西筛选出来得到的合集吧

别烦我要睡觉了:
P25里时间 01:30 第54行那里 1.为什么是a->array=p; 而不是a->array=*p; 2.申请的新的空间是malloc( sizeof(int) * (a->size+more) ); 这个新的空间不是*p吗? 3.p等于多少? 求解,看不明白[大哭][大哭][大哭]

【回复】指针可以通过赋值操作符赋值给另一个指针,使得两个指针指向同一个地址:视频中新申请更大空间,并通过遍历将原数组的值赋到新空间,如此可以看成创造了一个更大的数组(指针形式),再在free原数组内存后,将新创造的地址赋给原数组,使原数组披着原本的名字,因地址改变,实则是新数组的本质
叫我锐姐姐:
为什么我的c文件打开成功,但是关闭却失败l

滋墨小澄:
可以让我分配的有x64可以分配 22476M x86可以分配1900m左右

lxj052246:
感谢up主的分享,智能指针讲的很详细,C++进阶课程可以看看零声学院的

C语言 进阶 翁恺

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!