关于二维数组名和指针的指针
Created|Updated
|Post Views:
我们来看一段代码
1 | void f(int **a) |
这个代码是会报错的,error: cannot convert 'int (*)[2]' to 'int**'
很明显,二维数组名不是指向指针的指针(int **),而是一个指向数组的指针int (*)[2]
如果非要用指针的指针,可以这样
1 | int c[3]={1,2,2}; |
Related Articles
2020-04-06
fprintf()和fscanf()
前言这两个函数与printf()和scanf()函数类似。scanf()printf()的返回值为成功输入的数据个数如scanf(”%d%d%s”,&a,&b,s);执行成功返回3.scanf(”%d%d”,&a,&b);执行成功返回2. 如果在输入的过程中scanf(“%d%d”,&a,&b);由于某种原因只有a输入成功了则返回1,a、b都没成功则返回0 如果遇到错误或遇到end of file,返回EOF(一般宏定义EOF为-1)。 区别加多第一个参数(FILE指针) rewind(); 参数:FILE指针 作用回到文件开头 示例输入到文件中12345678910111213141516171819202122232425262728293031#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX 41int main(void){ FILE *fp; char...
2022-01-23
Basic_Syntax
数据类型基本类型 整型int(4B=32b,可以表示2^32) long long(8B=64b,可以表示2^64个数) 1234567#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main() { int a, b; scanf("%d %d", &a,&b); printf("%d", a+b);} 字符型char(1B=8b) 用单引号''括起来的,只能包含一个字符 1234567#include<stdio.h>int main() { char c = 'a'; printf("%c", c); return...
2020-04-06
面向行fgets()和fputs()
前言该函数是面向行操作。不同于,getc()是处理字符 函数fgets() 作用把读入的内容添加到字符串中。 参数(字符串地址,字符个数,FILE指针) 返回值如果读到文件结尾(EOF),返回NULL如果还没有到EOF,返回之前传给它的字符串地址 范围 1.读取到第一个换行符后面。2.读到文件结尾3.读到字符个数-14.如果读到字符上限已经读完一行,则会把结尾的’\n’放在’\0’前面最后,在最后一个字符后面加’\0’ Don’t forget...
2020-04-07
fread()和fwrite()
了解这两个函数是以二进制形式处理数据中,不同于其他I/O函数,是以文本形式处理。 函数fread() 作用:将文件中的内容拷贝到数组中 参数:(地址,数据块,数据块个数,文件指针) 返回值:两种情况:1.返回文件中成功读取项的数量。2.遇到文件结尾返回0 fwrite() 作用:将n个数据块拷贝到文件中 参数(地址,数据块,数据块的个数,文件指针) 示例123456789101112131415161718192021222324252627282930313233#include<stdio.h>#include<stdlib.h>#define SIZE 256int main(int argc, char *argv[]){ FILE *in, *out; int bytes; char temp[SIZE]; if (argc != 3) { fprintf(stderr, "Usage: %s filename\n",...
2020-04-06
面向字符getc()和putc()
前言面向字符操作。 这两个函数类似于getchar()和puchar(‘ch’)。 区别在后面加多一个参数(FILE指针) 函数fopen() 函数声明:在stdio.h中 参数(文件名,读写等模式) 返回:文件指针FILE * fp; 文件指针并不指向实际的文件,它指向一个包含文件信息的数据对象,其中包含I/O函数所用的缓冲区信息。 getc()类似于getchar() 参数(FILE指针) 返回:文件中的一个字符 与getchar()函数类似,getchar()是从标准输入中获取字符。而,getc()是从指定文件中获取字符 putc()类似于putchar() 参数(一个字符,FILE指针) 作用将这个字符放入指定的文件中 exit() 函数声明:在stdlib.h头文件中 参数正常结束传递0,非正常传递非0值. 作用关闭所有打开文件,并结束程序 与return...
2020-03-18
main()中的参数是什么
前言在步入命令行编译程序和C语言的学习时,会涉及到我在编写主函数int main()中有关main参数的问题。 了解 命令行输入中会有一个又一个以空格间隔的字符串。例如:./test这是执行命令时的一个字符串。 在执行程序时,从命令行中穿给C程序的值,称为命令行参数。 main中的参数 int main(int argc, char ** argv)argc是argument count (参数的数量)argv是argument vector (参数的向量) char, char*, char** 123char //字符类型char* //字符串char** //字符串数组 示例当我们用命令行编译的时候,执行c文件的时候。./test x y z如果我们在c文件中输出argc和argv,便会知道到argc=4,argv中分别是./test x y z 结果argc是命令行的参数的个数argv是命令行中参数的字符串
