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

网站做反向代理后样式加载错误网站广告如何做

网站做反向代理后样式加载错误,网站广告如何做,广州网页推广公司,网站建设腾讯云与阿里云文章目录 一、字符指针的深入理解二、数组指针详解三、二维数组传参的本质四、函数指针及其应用五、函数指针数组与转移表 一、字符指针的深入理解 1.1 字符指针的基本使用 字符指针(char*)是指向字符类型数据的指针,它有两种常见的使用方式: // 方式一…

文章目录

  • 一、字符指针的深入理解
  • 二、数组指针详解
  • 三、二维数组传参的本质
  • 四、函数指针及其应用
  • 五、函数指针数组与转移表

一、字符指针的深入理解

1.1 字符指针的基本使用
字符指针(char*)是指向字符类型数据的指针,它有两种常见的使用方式:

// 方式一:指向单个字符
char ch = 'w';
char *pc = &ch;
*pc = 'a';  // 修改ch的值为'a'// 方式二:指向字符串常量
const char* pstr = "hello bit";
printf("%s\n", pstr);  // 输出: hello bit

1.2 字符串常量的存储特性
需要特别注意第二种使用方式中字符串常量的存储特性:

const char *str3 = "hello bit";
const char *str4 = "hello bit";if(str3 == str4) {printf("str3和str4指向同一地址\n");
} else {printf("str3和str4指向不同地址\n");
}

二、数组指针详解

2.1 数组指针的定义
数组指针是指向整个数组的指针,而不是指向数组元素的指针。它的定义方式如下:

int arr[10] = {0};
int (*p)[10] = &arr;  // p是指向包含10个int元素的数组的指针

理解数组指针的关键在于运算符优先级:

[]的优先级高于*

因此int *p[10]表示指针数组(包含10个int指针的数组)

而int (*p)[10]表示数组指针(指向包含10个int元素的数组的指针)

2.2 数组指针的使用示例

#include <stdio.h>int main() {int arr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}};int (*p)[4] = arr;  // 指向第一行(一个包含4个int的数组)for(int i=0; i<3; i++) {for(int j=0; j<4; j++) {printf("%2d ", *(*(p+i)+j));  // 等价于p[i][j]}printf("\n");}return 0;
}

三、二维数组传参的本质

3.1 二维数组的内存布局
二维数组实际上是"数组的数组",在内存中按行优先顺序连续存储。例如:

int arr[3][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}
};

3.2 二维数组传参的两种形式
形式一:使用二维数组语法

void printArray(int arr[][4], int rows) {for(int i=0; i<rows; i++) {for(int j=0; j<4; j++) {printf("%d ", arr[i][j]);}printf("\n");}
}

形式二:使用数组指针语法

void printArray(int (*arr)[4], int rows) {for(int i=0; i<rows; i++) {for(int j=0; j<4; j++) {printf("%d ", *(*(arr+i)+j));}printf("\n");}
}

四、函数指针及其应用

4.1 函数指针的基本概念
函数指针是指向函数的指针变量,它存储的是函数的入口地址:

#include <stdio.h>int add(int a, int b) {return a + b;
}int main() {int (*pf)(int, int) = add;  // 等价于 &addprintf("%d\n", pf(2, 3));    // 输出: 5printf("%d\n", (*pf)(3, 5)); // 输出: 8return 0;
}

4.2 函数指针的类型解析
函数指针类型的组成:

返回类型:int

指针名称:pf

参数类型:(int, int)

因此int (*pf)(int, int)表示:

pf是一个指针

指向一个返回int并接受两个int参数的函数

五、函数指针数组与转移表

5.1 函数指针数组的定义
函数指针数组是存储多个函数指针的数组,可用于实现"转移表":

int add(int a, int b) { return a + b; }
int sub(int a, int b) { return a - b; }
int mul(int a, int b) { return a * b; }
int div(int a, int b) { return a / b; }int (*funcArray[4])(int, int) = {add, sub, mul, div};
http://www.dtcms.com/wzjs/618357.html

相关文章:

  • 做网站写代码怎么样做网站准备的资料
  • 超链接到网站怎么做视频文件下载佛山市建网站做网站费用
  • 教育行业网站推广渠道分析
  • 深圳市中农网是专业农产品营销网站筹划建设智慧海洋门户网站
  • 深圳西乡建网站常熟网站建设公司
  • 杭州设计门户网站国外被动收入网站做的好的
  • 网站备案信息如何注销吗wordpress PHP合并js
  • 怎么给人介绍自己做的网站怎么在jsp网站做验证码
  • 网站建设中的色彩搭配iis网站主目录
  • 建设电影网站需要什么哪个网站是用vue做的
  • 商务网站建设的第一步顺义做网站的厂家
  • 家用网络建网站东方商易网站开发
  • 自己动手建设网站过程网站关键字如何选择
  • 想做网站濮阳网站建设建网站到底需要多少钱
  • 番禺网站建设制作可以做公众号的网站吗
  • 辽宁省和城乡建设厅网站两学一做 网站
  • 科普网站栏目建设方案策划网页站点不安全
  • 泸西县住房和城乡建设局网站免费网站建设找哪家
  • 兰州网站建设慕枫商城网站风格
  • 免费搭建个人博客网站wordpress react 影响
  • 史志网站建设wordpress 敏感词过滤
  • 教育云平台网站建设wordpress插件 数据库
  • 网站建设工种河南住房和城乡建设部网站首页
  • 如何让新网站被收录精品网站欣赏
  • 公司改名网站备案网页设计实训班
  • js 网站怎么做中英文竞价网站与竞价网站之间做友情链接
  • 哪些网站可以做详情页建立手机网站
  • 建设部网站退休注册人员办公室局域网怎么搭建
  • 海南省建设注册中心网站黑帽友情链接
  • 做国际贸易哪个网站比较好福田建网站多少钱