C语言--指向多维数组的指针和指针数组
#include <stdio.h>
//void show(char *p[]);
void show(char s[][]);
int main(){
char s[][]={"","abc","xyz"};
char *p[];
//指针数组要循环复制
p[] = s[];
char (*ps)[];
ps = s;
}
#include <stdio.h>
#include <string.h>
#define SIZE 80
#define LMT 3
#define HALT " " /**
* 字符串排序函数函数原型声明
*/
//如果直接传递二维数组,函数里边只能显示数组元素,不能更改元素位置
void str_sort(char str[][SIZE],int num);
//void str_sort(char *str,int num); int main(){
char input[LMT][SIZE];
//指针数组,要分别为每个元素赋值,指向多维数组的指针只需要为指针变量赋值即可
//指针数组初始化的时候要指定数组的大小,指向多维数组的指针只分配指针变量的内存空间即可
char *ps[LMT];
int ct = ;
int k; while(ct<LMT && gets(input[ct]) != NULL && input[ct][] != '\0'){
ps[ct] = input[ct];
ct++;
}
//str_sort(ps,ct);
str_sort(input,ct);
//puts("Here is the res list:");
//for(k=0;k<ct;k++){
// puts(ps[k]);
//}
return ;
} void str_sort(char str[][SIZE], int num){
//char *tmp;
//int top,seek;
//for(top=0;top<num-1;top++){
// for(seek=top+1;seek<num;seek++){
// if(strcmp(str[top], str[seek]) > 0){
// tmp = str[top];
// str[top] = str[seek];
// str[seek] = tmp;
// }
// }
//}
int i;
str[][]='*';
for(i=;i<num;i++){
printf("%s\n",str[i]);
}
}
#include <stdio.h>
#include <string.h>
#define SIZE 80
#define LMT 3
#define HALT " " /**
* 字符串排序函数函数原型声明
*/
void str_sort(char *str[],int num); int main(){
char input[LMT][SIZE];
char *ps[LMT];
int ct = ;
int k; while(ct<LMT && gets(input[ct]) != NULL && input[ct][] != '\0'){
ps[ct] = input[ct];
ct++;
}
str_sort(ps,ct);
puts("Here is the res list:");
for(k=;k<ct;k++){
puts(ps[k]);
}
return ;
} void str_sort(char *str[], int num){
char *tmp;
int top,seek;
for(top=;top<num-;top++){
for(seek=top+;seek<num;seek++){
if(strcmp(str[top], str[seek]) > ){
tmp = str[top];
str[top] = str[seek];
str[seek] = tmp;
}
}
}
}
二维数组作为函数参数
#include <stdio.h>
#include <string.h>
#define LMT 3
#define SIZE 80
void str_sort(char str[][SIZE], int num);
int main(){
char input[LMT][SIZE];
int ct;
while(ct < LMT && gets(input[ct]) != NULL && input[ct][] != '\0'){
ct++;
}
str_sort(input,LMT);
int i;
for(i=;i<LMT;i++){
puts(input[i]);
}
} void str_sort(char str[][SIZE], int num){
int i,j;
char tmp[SIZE];
for(i=;i<num-;i++){
for(j=i+;j<num;j++){
if(strcmp(str[i],str[j]) > ){
strcpy(tmp,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],tmp);
}
}
}
}
C语言--指向多维数组的指针和指针数组的更多相关文章
- c语言编程-----指向二维数组的指针
c中如何返回一个指向二维数组的指针 #include <stdio.h> #include <stdlib.h> #define COUNT 3 typedef int (*M ...
- c语言中双维数组与指针的那点事儿
说起c语言的指针,估计对c语言只是一知半解的同志们可能都会很头疼,尤其它跟数组又无耻的联系到一起的时候,就更加淫荡了!!! 怎么说呢,就是有一点规定:(或准则) 数组名可以看成是指向数组头元素的指针, ...
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com
原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | I ...
- C语言指针系列 - 一级指针.一维数组,二级指针,二维数组,指针数组,数组指针,函数指针,指针函数
1. 数组名 C语言中的数组名是一个特殊的存在, 从本质上来讲, 数组名是一个地址, 我们可以打印一个指针的值,和打印一个数组的值来观察出这个本质: int nArray[10] ={ 0 }; in ...
- C语言教学--二维数组和指针的理解
对于初学者对二维数组和指针的理解很模糊, 或者感觉很难理解, 其实我们和生活联系起来, 这一切都会变得清晰透彻. 我们用理解一维数组的思想来理解二维数组, 对于一维数组,每个箱子里存放的是具体的苹果, ...
- 通过数组初始化链表的两种方法:指向指针的引用node *&tail和指向指针的指针(二维指针)node **tail
面试高频题:单链表的逆置操作/链表逆序相关文章 点击打开 void init_node(node *tail,char *init_array) 这样声明函数是不正确的,函数的原意是通过数组初始化链表 ...
- C语言复习---二维数组和二级指针的关系:没关系,别瞎想(重点)
前提:一维数组和一维指针为什么可以替换使用? ] = { , , }; int *p = a; ; i < ; i++) printf("%d ", *(p + i)); 上 ...
- C++之指针指向二维数组
一维指针通经常使用指针表示,其指向的地址是数组第一元素所在的内存地址,例如以下 int ary[4][5]; int(*aryp)[5] = ary; 那么ary[4]相当于int(*aryp).下面 ...
- C 与 C++ 中 指向二维数组的指针进行指针运算
二维数组在概念上是二维的,有行和列,但在内存中所有的数组元素都是连续排列的,它们之间没有"缝隙".以下面的二维数组 nums 为例: 从概念上理解,nums 的分布像一个矩阵,但在 ...
随机推荐
- 【CoreData】表之间的关联
这次是表之间怎么进行关联,要求如下: // 建立学生与班级表之间的联系 既然是表与表之间的关联,那肯定是要先创建表: // 1.创建模型文件 (相当于一个数据库里的表) // New File ——— ...
- 【代码笔记】iOS-获得现在的时间
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...
- cocoapods遇到的问题 (pod: command not found的问题)
在使用CocoaPod为项目添加第三方类库时,出现了-bash: pod: command not found的问题: 在网上看到了一位哥的方法:确实有效:
- Java ThreadLocal
ThreadLocal类,代表一个线程局部变量,通过把数据放在ThreadLocal中,可以让每个线程创建一个该变量的副本.也可以看成是线程同步的另一种方式吧,通过为每个线程创建一个变量的线程本地副本 ...
- PlantUML的实例参考
project: blog target: plant-uml-instances.md date: 2015-12-24 status: publish tags: - PlantUML - UML ...
- [整理]PHP/HTML混写的四种方式
PHP作为一款后端语言,为了输出给浏览器让浏览器呈现出来,无可避免的要输出HTML代码,下文介绍下我用过的三种PHP/HTML混编方法 1.单/双引号包围法 这是最初级的方法了,用法就像下面这样 &l ...
- .htaccess绑定网站主目录的方法
用过cpanel的基本都会知道要把自己的服务器脚本传到public_htmk这个文件夹下,这个就是整个网站的主目录,普通的Apache服务器可以用下面的代码来实现这种效果 RewriteEngine ...
- MongoDB 常用故障排查工具
1.profile profiling levels: 0,关闭profile:1,只抓取slow查询:2,抓取所有数据. 启动profile并且设置Profile级别: 可以通过mongo shel ...
- InnoDB的WAL方式学习
之前写过一篇博文,<不好的MySQL过程编写习惯>(http://www.cnblogs.com/wingsless/p/5041838.html).这篇博文里强调了不要循环的提交事务,尽 ...
- CSS实现自定义手型气泡提示
实现自定义的手型气泡提示 <html> <head> <meta charset="utf-8"> <title></titl ...