c程序设计语言 by K&R(二)指针与数组
2022/1/10 9:03:46
本文主要是介绍c程序设计语言 by K&R(二)指针与数组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1. c语言只有值传递,没有引用传递
- 可通过指针交换
#include <stdio.h> #include <stdlib.h> void swap(int* a, int* b){ int tmp = *b; *b = *a; *a = tmp; } int main(void) { int a = 2; int b = 3; swap(&a, &b); printf("%d %d\n", a, b); return 0; }
- 但以下代码在c++环境下才能运行
void swap(int& a, int& b){ int tmp = b; b = a; a = tmp; } int main(void) { int a = 2; int b = 3; swap(a, b); printf("%d %d\n", a, b); return 0;
2. char s[]和 char* s是等价的
s是字符数组的起始地址
3. C语言不进行数组越界检查
arr[-1],arr[-2]表示arr[0]之前的两个元素
#include <stdio.h> #include <stdlib.h> int main(void) { int c[2] = {0,0}; printf("%d %d\n", c[-1], c[-2]); return 0; }
输出:
32767 -502976128
这篇关于c程序设计语言 by K&R(二)指针与数组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-21拼接的xml报文,尖括号都被转移成了< 是什么原因-icode9专业技术文章分享
- 2024-09-21Svg Sprite Icon教程:从入门到实践
- 2024-09-21Svg Sprite Icon实战:从入门到上手
- 2024-09-20构建一个多PDF RAG聊天机器人:使用Langchain和Streamlit及代码
- 2024-09-20whatsapp webhook 回调的签名验证偶尔会失败是什么原因-icode9专业技术文章分享
- 2024-09-19Excel数据导出课程:初学者必备教程
- 2024-09-19Excel数据导入课程:新手入门指南
- 2024-09-19RBAC的权限管理入门教程
- 2024-09-19如何使用Svg Sprite Icon制作图标
- 2024-09-19uniapp 如何实现点赞后全局更新数据-icode9专业技术文章分享