概述
数组
int a[] = {0};
//a代表数组首元素的地址,即数组元素类型,是常量指针
//&a,代表整个数组的地址,即数组类型
//数组类型
typedef int(MyInt)[5] ;
//下面的两个一样的
MyInt array;
int array[5];
&array + 1 ;//直接跳整个数组步长
//定义指向数组类型的指针变量
MyInt* pArray = &array;
array[i] = i;
//同理
(*pArray )[i] = i;
//直接定义数组指针类型
typedef int(*pMyArray)[5];
pMyArray myP = NULL;
(*myP)[i] = i ;
//strcpy(),strchr();
//#include <string.h>
//#include <stdio.h>
int main(void)
{
char string[17];
char *ptr,c='r';
strcpy(string,"Thisisastring");
ptr=strchr(string,c);
if(ptr)
printf("The character %cis at position:%sn",c,ptr);
else
printf("The character was not foundn");
return 0;
}
运行结果:
The character r is at position: ring
//array+1的步长为[5]*变量字节
//array名就是指向一维数组的指针
int array[3][5];
int (*p)[5] = {0};
p = array;
//但无论几维数组,实参传到形参都会退化成指针,但你要告诉编辑器
//跳的格子数
//多维数组做形参,二维可勉强表达出来 int Fuc1(int a[][5]或int (*a)[5]);
//三维,四维就不行了即参数的有效内存维数只到2级
//sprintf格式化数据格式输入到字符串中,返回buffer字符数
{
char buffer[200], s[] = "computer", c = 'l';
int i = 35, j;
float fp = 1.7320534f;
// 格式化并打印各种数据到buffer
j = sprintf( buffer, " String: %sn", s ); // C4996
j += sprintf( buffer + j, " Character: %cn", c ); // C4996
j += sprintf( buffer + j, " Integer: %dn", i ); // C4996
j += sprintf( buffer + j, " Real: %fn", fp );// C4996
printf( "Output:n%sncharacter count = %dn", buffer, j );
}
Output:
String: computer
Character: l
Integer: 35
Real: 1.732053
character count = 79
注意临时内存片是返回不出来的,要malloc或new.
strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
char str[]=”1234xyz”;
char *str1=strstr(str,”34”);
cout << str1 << endl;
显示的是: 34xyz
最后
以上就是聪明吐司为你收集整理的基础知识朝花夕拾1的全部内容,希望文章能够帮你解决基础知识朝花夕拾1所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复