当前位置: 首页 > wzjs >正文

请人帮忙做淘宝网站多少钱西安百度seo推广

请人帮忙做淘宝网站多少钱,西安百度seo推广,在线设计装修的网站,php网站开发的发展前景文章目录 一、指针基础回顾1.1 指针声明与初始化1.2 指针的解引用 二、数组名的本质2.1 数组名即首元素地址2.2 两个例外情况 三、使用指针访问数组3.1 指针算术运算访问数组3.2 数组下标与指针的等价性 四、一维数组传参的本质五、冒泡排序算法实现六、二级指针七、指针数组 一…

文章目录

  • 一、指针基础回顾
    • 1.1 指针声明与初始化
    • 1.2 指针的解引用
  • 二、数组名的本质
    • 2.1 数组名即首元素地址
    • 2.2 两个例外情况
  • 三、使用指针访问数组
    • 3.1 指针算术运算访问数组
    • 3.2 数组下标与指针的等价性
  • 四、一维数组传参的本质
  • 五、冒泡排序算法实现
  • 六、二级指针
  • 七、指针数组

一、指针基础回顾

指针本质上是一个变量,其存储的是内存地址。通过指针,我们可以直接访问和操作内存中的数据,这赋予了C语言极高的灵活性和效率。

1.1 指针声明与初始化

int a = 10;       // 定义一个整型变量
int *p = &a;      // 定义一个指向整型的指针,并初始化为a的地址

这里p是一个指针变量,它存储的是变量a的内存地址。&是取地址运算符,用于获取变量的内存地址。

1.2 指针的解引用

printf("%d\n", *p);  // 输出10,*p表示访问p指向的值
*p = 20;             // 通过指针修改a的值
printf("%d\n", a);   // 输出20

二、数组名的本质

数组名在大多数情况下代表数组首元素的地址,但有两个重要的例外情况。

2.1 数组名即首元素地址

int arr[10] = {1,2,3,4,5,6,7,8,9,10};
printf("&arr[0] = %p\n", &arr[0]);
printf("arr = %p\n", arr);

输出结果将显示&arr[0]和arr的值相同,证明数组名确实是首元素地址。

2.2 两个例外情况

sizeof(数组名):此时数组名表示整个数组,计算的是整个数组的大小

printf("%d\n", sizeof(arr));  // 输出40(假设int为4字节,10个元素)

&数组名:此时取到的是整个数组的地址

printf("&arr = %p\n", &arr);
printf("&arr+1 = %p\n", &arr+1);  // 会跳过整个数组(40字节)

三、使用指针访问数组

3.1 指针算术运算访问数组

int arr[10] = {0};
int *p = arr;
for(int i=0; i<10; i++) {scanf("%d", p+i);  // 等价于&arr[i]
}
for(int i=0; i<10; i++) {printf("%d ", *(p+i));  // 等价于arr[i]
}

3.2 数组下标与指针的等价性

arr[i]和*(arr+i)是完全等价的,编译器会将前者转换为后者:

arr[3] = 10;    // 等价于
*(arr+3) = 10;  // 同样效果

四、一维数组传参的本质

数组作为函数参数传递时,实际上传递的是数组首元素的地址,而非整个数组。

void test(int arr[]) {printf("%d\n", sizeof(arr));  // 输出指针大小(4或8字节)
}int main() {int arr[10] = {0};printf("%d\n", sizeof(arr));  // 输出40(整个数组大小)test(arr);return 0;
}

五、冒泡排序算法实现

void bubble_sort(int arr[], int sz) {for(int i=0; i<sz-1; i++) {for(int j=0; j<sz-i-1; j++) {if(arr[j] > arr[j+1]) {int tmp = arr[j];arr[j] = arr[j+1];arr[j+1] = tmp;}}}
}

六、二级指针

int a = 10;
int *pa = &a;     // 一级指针
int **ppa = &pa;  // 二级指针

七、指针数组

int arr1[] = {1,2,3,4,5};
int arr2[] = {2,3,4,5,6};
int arr3[] = {3,4,5,6,7};
int *parr[3] = {arr1, arr2, arr3};for(int i=0; i<3; i++) {for(int j=0; j<5; j++) {printf("%d ", parr[i][j]);  // 模拟二维数组访问}printf("\n");
}
http://www.dtcms.com/wzjs/354996.html

相关文章:

  • 厦门英文网站建设制作一个app软件需要多少钱
  • 南京行业网站建设河南网站建设定制
  • 集团为什么做网站优化关键词的公司
  • 免费搭建私人网站南通seo网站优化软件
  • 北京著名网站设计公司海外推广服务
  • 网站建设幻灯片背景图片素材班级优化大师的优点
  • 页面好看的教育类网站模板搜索引擎推广方式有哪些
  • 做网站烧钱吗石家庄seo网站管理
  • 盘锦门户网站制作郑州网站建设外包
  • 网站建设人文类百度广告公司
  • 网站开发需要代码吗中山seo推广优化
  • 网站推广国外seo还能赚钱吗
  • 具有价值的做pc端网站免费网站模板
  • 晋中市住房与城乡建设厅网站百度手机seo
  • 青岛网站建设公司排名seo网站优化论文
  • 公司做两个网站有影响吗福州seo顾问
  • 做石膏选图形的网站网络代理app
  • 企业网站静态模板注册域名费用一般多少钱
  • wordpress评论回复插件seo网站优化详解
  • 龙岩网站建设方案优化海淀区seo引擎优化多少钱
  • 域名申请的步骤包括seo的工作内容主要包括
  • 时时彩网站代理怎么做seo从零开始到精通200讲解
  • 芜湖龙湖建设工程有限公司网站武汉外包seo公司
  • 如何开办自己的公司东莞seo网络优化
  • 深圳做官网的公司成都seo招聘信息
  • 网站建设中 敬请期待怎么解决河源网站seo
  • 怎么破解别人做的付费网站营销方案的几个要素
  • 广告设计公司绩效考核宁波网站推广优化外包
  • 商丘交友网站开发公司宁波seo推广推荐公司
  • 广州网站建设招标网站优化招聘