当前位置:网站首页>C专家编程 第4章 令人震惊的事实:数组和指针并不相同 4.5 数组和指针的其他区别
C专家编程 第4章 令人震惊的事实:数组和指针并不相同 4.5 数组和指针的其他区别
2022-08-04 04:44:00 【weixin_客子光阴】
/*数组和指针的其他区别
* 指针 数组
*保存数据的地址 保存数据
*间接访问数据,首先取得指针的内容, 直接访问数据,a[i]只是简单以a+i为地址取得数据
作为地址,然后从这个地址提取数据
如果指针有一个下标[i],就把指针
的内容加上i作为地址,从中提取数据
*通常用于动态数据结构 通常用于存储固定数目且数据类型相同的元素
*相关的函数为malloc(), free() 隐式分配和删除
*通常指向匿名数据 自身即为变量名
*/
/*数组和指针都可以在它们的定义中用字符串常量进行初始化。但底层的机制却不相同
*定义指针时,编译器并不为指针所指向的对象分配空间,它只是分配指针本身的空间,除非在
*定义的的同时赋给指针一个字符串常量进行初始化。
*/
/*为p和“breakfruit"都分配了内存空间*/
char *p = "breadfruit";
/*在ANSI C中,初始化指针所创建的字符串常量被定义为只读。如果试图通过指针修改这个
*字符的值,程序就会出现未定义的行为。
*/
float *pip = 3.14; /*错误!无法通过编译*/
/*注意只有对字符串常量才是如此,不能指望为浮点数之类的常量分配空间*/
/*数组也可以用字符串常量进行初始化*/
char a[] = "gooseberry";
/*与指针相反,由字符串常量初始化的数组是可以修改的。
*其中的单个字符在以后可以改变。
*/
例如:
strncpy(a, "black", 5);
边栏推荐
- SQL interview Questions
- 看DevExpress丰富图表样式,如何为基金公司业务创新赋能
- 系统设计.秒杀系统
- 商城App开发都有哪些功能呢
- manipulation of file contents
- 10 Convolutional Neural Networks for Deep Learning 3
- mysql索引笔记
- Simple operation of the file system
- Deep learning -- CNN clothing image classification, for example, discussed how to evaluate neural network model
- Implementing a server-side message active push solution based on SSE
猜你喜欢

深度学习之 10 卷积神经网络3

Explain详解与实践

7-3 LVS+Keepalived Cluster Description and Deployment

RSS订阅微信公众号初探-feed43

System design. How to design a spike system (full version transfer)

JVM笔记

7. The principle description of LVS load balancing cluster

SQL interview Questions

Take care of JVM performance optimization (own note version)

3000字,一文带你搞懂机器学习!
随机推荐
结构体指针知识要点总结
OpenGL绘制圆
类如何只能静态分配和只能动态分配
Introduction to the memory model of the JVM
drools from download to postman request success
文件系统的简单操作
7. The principle description of LVS load balancing cluster
Significant differences between Oracle and Postgresql in PLSQL transaction rollback
JVM笔记
For Qixi Festival, I made a confession envelope with code
7-3 LVS+Keepalived集群叙述与部署
备份工具pg_dump的使用《postgres》
How to simplify the automation of modern e-procurement?
PL/SQL Some Advanced Fundamental
[C language advanced] program environment and preprocessing
基于gRPC编写golang简单C2远控
docker安装mysql与宿主机相差8小时的问题。
2022 software test interview questions The latest ByteDance 50 real interview questions, 15k have been won after brushing, with explanation + Q&A
Senior PHP development case (1) : use MYSQL statement across the table query cannot export all records of the solution
System design. How to design a spike system (full version transfer)