关于C和我

     说来惭愧,作为一个计算机系的学生,却直到大三开始才用博客开始记事,却又在时代的冲刷下,在微信、微博、各种聊天软件的短小消息的冲刷下,不由自主觉得写博客对于我这样一个探索欲超级强的人来说实在是一件充满了复古感的事,却又因为花掉太多时间在电子产品上,大大压缩了我回忆一天的时间,所以每天都是夜深人静的时候,我在一盏压得低低的台灯下,一字字写下每天的所思所想。 

    时间长了,压缩睡眠时间难免会觉得吃不消,想更方便的记录生活又不想公开自己的生活,于是我想到了写博客。

    一路走来,我和c结缘不少,早在初中的时候,出于好奇我就跟着老师学了physical语言,可惜年少不知书卷的重要,并没有好好学,在大学时,我仍然出于兴趣,选择了计算机,于是每天闲暇时带着耳机敲键盘就变成了我的日常,在期末课设的时候更甚。

    时光匆匆,转眼便从指尖和键盘的敲击中过了两年,从一个萌新到了对新生讲解大学信息的老鲜肉,期间认真学习过也在公开课上摸过鱼,但毕业后做什么,突然就那么遥远又紧迫的摆在了我的眼前,我第一次开始认真思考,我,秋招,要去哪里?

    想去很多公司,无奈是个恋家的人。

     终将要长大啊,于是我想想,去深圳吧,去百度,做为所有网民服务的事。

     话轻轻松松就说出来了。接下来怎么做可是很关键的,每天看看面经, 及时吸取信息?no!差得远呢,跟着老师做项目?emmm还好吧,可是项目已经被报满了欸QAQ,于是我最终决定找途径,学点什么。

     看了很多大拿的经历,每天不低于8小时的编程时间,那就是说,8h(上课)+8h睡觉=每天三点一线,害怕,我,我就4个小时吧,留一点时间,好发呆,嗯,今天开始吧。

     希望今后的博客依然像今天一样用轻松的心情写下来,加油吧,一起努力!

基于部落竞争与成员合作算法(CTCM)融合动态窗口法DWA的无人机三维动态避障方法研究,MATLAB代码 动态避障路径规划:基于部落竞争与成员合作算法(CTCM)融合动态窗口法DWA的无人机三维动态避障方法研究,MATLAB 融合DWA的青蒿素优化算法(AOA)求解无人机三维动态避障路径规划,MATLAB代码 基于动态环境下多智能体自主避障路径优化的DWA算法研究,MATLAB代码 融合DWA的青蒿素优化算法AOA求解无人机三维动态避障路径规划,MATLAB代码 基于DWA的多智能体动态避障路径规划算法研究,MATLAB代码 融合动态窗口法DWA的粒子群算法PSO求解无人机三维动态避障路径规划研究,MATLAB代码 基于粒子群算法PSO融合动态窗口法DWA的无人机三维动态避障路径规划研究,MATLAB代码 基于ACOSRAR-DWA无人机三维动态避障路径规划,MATLAB代码 基于ACOSRAR-DWA无人机三维动态避障路径规划,MATLAB代码 基于DWA的动态环境下无人机自主避障路径优化,MATLAB代码 基于DWA的动态环境下机器人自主避障路径规划,MATLAB代码 基于城市场景下RRT、ACO、A*算法的无人机三维路径规划方法研究,MATLAB代码 基于城市场景下无人机三维路径规划的导航变量的多目标粒子群优化算法(NMOPSO),MATLAB代码 导航变量的多目标粒子群优化算法(NMOPSO)求解复杂城市场景下无人机三维路径规划,MATLAB代码 原创:5种最新多目标优化算法求解多无人机协同路径规划(多起点多终点,起始点、无人机数、障碍物可自定义),MATLAB代码 原创:4种最新多目标优化算法求解多无人机协同路径规划(多起点多终点,起始点、无人机数、障碍物可自定义),MATLAB代码 高维超多目标优化:基于导航变量的多目标粒子群优化算法(NMOPSO)的无人机三维
<think>我们正在处理一个关于C语言变量命名的问题,用户询问如何表达与“我”相关的定义或变量命名。 根据引用[1]、[2]、[3]的内容,C语言变量命名需要遵循标识符规则,并且推荐使用有意义的名称。 用户提到的“我”是一个中文概念,在编程中通常需要转换为英文。在面向对象编程中,我们可能会用`this`或`self`来表示当前对象,但C语言是面向过程的语言,没有内置的`this`或`self`关键字。 然而,在C语言中,我们可以通过结构体函数参数来模拟面向对象的风格。例如,如果我们要表示一个“我”的结构,可以定义一个结构体类型,然后使用指向该结构体的指针来表示“我”(当前对象)。 参考引用[3]中的命名规范,我们可以采用以下方式: 1. 使用有意义的名称,例如如果“我”代表一个玩家,可以命名为`player`,如果是当前用户,可以命名为`currentUser`。 2. 在结构体方法中,通常将指向自身结构体的指针命名为`self`或`this`(尽管C语言中不强制,但这是一个常见的约定)。 因此,我们可以这样定义: 例如,定义一个表示“我”的结构体: ```c typedef struct { char name[50]; int age; // 其他属性... } Person; ``` 然后,在操作这个结构体的函数中,我们可以将指向当前对象的指针命名为`self`: ```c void introduce(Person* self) { printf("Hello, my name is %s, I am %d years old.\n", self->name, self->age); } ``` 在这个例子中,`self`就是表示“我”的变量。虽然C语言没有内置支持,但通过将结构体指针作为函数的第一个参数传递,我们可以模拟出类似的效果。 另外,如果是在全局上下文中表示“我”,我们可以定义一个全局变量,但通常不推荐使用全局变量,因为它会带来维护上的问题。如果必须使用,可以命名为`g_me`(根据引用[3]的规范,使用`g_`前缀表示全局变量)或`currentUser`等。 示例: ```c Person g_me; // 全局变量,表示“我” void setMe(char* name, int age) { strcpy(g_me.name, name); g_me.age = age; } void printMe() { printf("I am %s, %d years old.\n", g_me.name, g_me.age); } ``` 但是,请注意全局变量的使用要谨慎。 总结:在C语言中,表达“我”的概念,通常可以通过以下方式: 1. 在结构体方法中,使用指向结构体的指针,并命名为`self`(或`this`)。 2. 在全局上下文中,可以定义一个全局变量,但要注意命名规范尽量减少使用。 根据引用[3]的命名规范,我们推荐使用小驼峰式或下划线命名法,并且要有描述性。因此,我们可以使用`self`、`currentUser`、`me`等作为变量名,但要注意在结构体方法中,`self`只是一个参数名,并不是关键字。 注意:在C语言中,我们不能使用中文作为变量名,所以必须用英文。 因此,回答用户的问题:在C语言中,表达与“我”相关的变量,可以使用`self`、`me`、`currentUser`等英文单词,并根据上下文选择合适的作用域(局部变量、函数参数或全局变量)命名方式。 最后,生成相关问题。</think>在 C 语言中表达与"我"相关的概念时,通常需要通过变量命名来体现其含义。以下是几种常见的实现方式: ### 1. 使用描述性英文命名 遵循[引用3]的命名规范,采用**小驼峰式**或**下划线命名法**: ```c // 表示当前用户 User currentUser; // 表示玩家自身 Player myPlayer; // 表示用户配置 Settings mySettings; ``` ### 2. 结构体中的"自我"指针 在面向对象风格的 C 代码中,常用 `self` 指针表示当前对象: ```c typedef struct { char name[50]; int health; } Character; void attack(Character* self, Character* target) { // self 指向当前角色对象 printf("%s attacks %s!\n", self->name, target->name); } ``` ### 3. 全局上下文中的"我" 对于全局唯一的用户实体(需谨慎使用全局变量): ```c // 根据[引用3]规范添加g_前缀 User g_currentUser; // 常量定义使用全大写[引用3] const int MAX_MY_ITEMS = 100; ``` ### 4. 避免的方式 - ❌ 不要使用单字"我"(违反标识符规则)[^1] - ❌ 避免无意义命名如 `int a;`(违反描述性要求)[^3] - ❌ 禁止使用中文变量名(C 语言不支持 Unicode 变量名) ### 命名建议原则 1. **语义清晰**:如 `myProfile` 比 `mp` 更明确[^3] 2. **作用域标识**:全局变量加 `g_` 前缀(如 `g_mySettings`)[^3] 3. **一致性**:整个项目保持统一命名风格(驼峰式或下划线式) 4. **避免关键字**:如 `this` 在 C++ 中是保留字,C 中虽可用但不推荐 > 示例场景:游戏角色系统 > ```c > typedef struct { > char name[30]; > int level; > float experience; > } Player; > > // 创建玩家自身对象 > Player myCharacter = {"Hero", 1, 0.0f}; > > // 升级函数 > void levelUp(Player* self) { > self->level++; > printf("%s leveled up to %d!\n", self->name, self->level); > } > ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值