C-指针与数组
指针与数组
数组名是一个指向数组中第一个元素的常量指针.
数字数组
将一个指针指向一个数字数组, 指针中存储了数组中第一个元素的地址.
int arr1[] = {1, 2, 3}; int* p = arr1; printf("%d", *p); // 1 "指针表示法" printf("%d", p[0]); // 1 "数组表示法" printf("%d", *(p+1); // 2
字符数组
将一个指针指向一个字符数组, 指针中存储了数组中第一个元素的地址.
char str1[] = "Hello"; char* p = str1; printf("%c", *p); // 'H' printf("%c", p[0]); // 'H' putchar(*(p+1)); // 'e' printf("%s", p); // "Hello"
字符数组与数字数组的区别就在于:
- 数字数组不需要结束符, 字符数组会自动添加结束符;
- 使用
printf()
函数可以输出一个字符串, 而不能输出一个数字数组.
二维数组
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}}; int* p = arr[0]; // p需要指向第一个元素, 因此是arr[0] // p = arr[1]; printf("%d = %d", *p, arr[0][0]);
本文作者:Khru
本文链接:https://www.cnblogs.com/khrushchefox/p/17297104.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步