c语言基础常用字符串数组函数与结构体

字符串常用函数

printf("%d",sizeof(arr));//可查看数组arr所占用的内存(一个int占4位,char占一位)
  • strcpy(arr1,arr2);

将arr2中的内容拷贝到arr1中;arr1的内存需大于arr2

  • strcmp(arr1,arr2);

逐个比较,若arr1>arr2 返回1;

arr1=arr2 返回0;

arr1<arr2 返回-1

  • strcat(arr1,arr2)字符串拼接 目的字符串数组大于两个字符串总和;
  • strlen 从字符串开始位置扫描,直到遇到/0返回计数器值

结构体

//结构体定义及赋值
#include<stdio.h>
struct student
{
	int ID;
	char name;

}stu;

int main()
{
	stu.ID=10;//‘.’就是“的”,意为stu里的ID
	stu.name= ‘g‘;
	printf("%d %c",stu.ID,stu.name);
	}
//或者下面那种赋值方法
#include<stdio.h>
struct student
{
	int ID;
	char name;

};

int main()
{
	struct student stu = {10,‘g‘}
	printf("%d %c",stu.ID,stu.name);
	}

#include<stdio.h> 

typedef struct student //为数据类型struct定义一个别名,struct与stu可以互用
{
	int ID;
	char name;
}stu;
int main()
{
	int ID = 10;
	stu stt ={123,‘a‘};//定义一个stu(struct)类型的变量并赋值。
	printf("%d %c\n",stt.ID,stt.name);
	stu* Pstu = &stt;
	Pstu->ID =666;//指针用箭头 。
	printf("%d %c",stt.ID,stt.name);
	}
	/*分量运算符左侧的运算对象只能是结构变量,不能是指针。
	指向运算符左侧的运算对象,只能是指向结构变量或结构数组的指针变量。
	如果指针变量Pstu已指向结构变量stt,则:
	var.成员 与Pstu-> 等价

结构体数组:

#include<stdio.h>
struct student
{
	int ID,age; 

}stu[10];
int main()
{
	stu[0].ID=20;
	stu[0].age =18;
	stu[1].ID =15;
	printf("%d %d",stu[0].ID,stu[0].age);
	}

原文地址:https://www.cnblogs.com/mouzaisi/p/12177848.html

时间: 2024-11-05 14:55:05

c语言基础常用字符串数组函数与结构体的相关文章

C语言的常用字符串操作函数(一)

一直做的是单片机相关的程序设计,所以程序设计上更偏向底层,对于字符串的操作也仅限于液晶屏幕上的显示等工作,想提高下字符串操作的水平,而不是笨拙的数组替换等方式,翻看帖子发现C语言的字符串操作函数竟然这样丰富而实用,在此记录,已备后用. No.1 strlen():字符串长度计算函数 应用实例: 1 #include<stdio.h> 2 #include<string.h> 3 4 char TextBuff[] = "Hello_My_Friend!"; 5

2015.12.13 二维数组 函数指针 结构体

先说一下指针的用途:1.访问函数,在函数内部需要改变外部传入内部的值:2.函数中需得到一个连续存储空间的首地址:3.动态分配内存,需要记录分配内存的首地址.说穿了,指针的用途就是和地址相关的. 二维数组 定义方法 ①int temp1 [2][3] = {}; 第一个中括号是“行”,第二个中括号是“列”. ②int temp2 [][3] = {1,2,3,4,5,6}; “列数”不需要明确指出. ③int temp3 [2][3] = {1,2,3,4}; 后两个元素为0. char *nam

C语言基础知识----指针数组 &amp;&amp; 数组指针 &amp;&amp; 函数指针 &amp;&amp;指针函数

指针数组 && 数组指针 char (*ptr)[5]; //定义一个指向数组指针ptr,指向包含5个char类型的数组 char *a[5]; //定义一个指针数组a,包含5个char*类型指针 #include <stdio.h> int main(void) {     char *a[5]={"red","white","blue","dark","green"};   

C++中提供的字符串数组函数

C++语言为程序设计者提供了一些可以非常方便地处理字符数组的函数.这些函数可以完成字符数组的复制.连接.比较以及查找等操作. 在数组声明时,C++会自动产生一个指向该数组第一个数据元素的指针.当使用数组的名字时,实际上是在使用一个指向该数组的指针. 下面是一些C++中提供的字符串数组函数,给出了它们的原型和调用语句,这些函数的输入都是一个字符指针(char*). 函数原型    void strcat(char *dest, char *src); 功能:将字符串src连接到字符串dest后面.

mysql 编程注意事项及常用字符串处理函数

一)建立存储过程时报SQL错误( have an error in your SQL syntax;....) 建立PROCEDURE等类型过程前需加上delimiter // ,最后也要以// 结尾,例如 delimiter // CREATE PROCEDURE UPDATE_PROCESSDEFID() BEGIN ....... END; // 在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令. delimiter告诉客户端这段范围才算一个名利,而不是遇到

【C语言天天练(十)】结构体

引言:数据经常以成组的形式存在.在C中,使用结构可以把不同类型的值存放在一起. 结构的声明有两种 1.struct SIMPLE{ int a; char b; float c; };然后用标签SIMPLE去声明结构体变量. 2.typedef struct{ int a; char b; float c; }Simple;然后用Simple去声明结构体变量.此时Simple是个类型名,而不像上面的SIMPLE是个标签. 结构成员可以是标量.数组.指针甚至是其他结构. 结构成员的直接访问用点操作

全国计算机等级考试二级教程-C语言程序设计_第14章_结构体、共用体和用户定义类型

例14.2 对比向函数传递结构体数组名和向函数传递结构体变量名的区别. 1 #include<stdio.h> 2 3 typedef struct 4 { 5 int num; 6 double mark; 7 }REC; 8 9 void sub1(REC x) 10 { 11 x.num = 23; 12 x.mark = 81.5; 13 } 14 15 void sub2(REC y[]) 16 { 17 y[0].num = 12; 18 y[0].mark = 77.5; 19

C语言中两个相同类型的结构体变量之间是可以相互直接赋值的

C语言中,在相同类型的变量间赋值时是直接内存复制的,即将他们的内存进行复制,而两个同类型的结构体变量属于同一种变量,所以赋值时是按照他们的内存分布来直接拷贝的.所以,在C语言中两个相同类型的结构体变量之间是可以相互赋值的.但是要注意指针的浅层复制问题. 下面是一个简单的验证代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdlib.h> struct test

获取网络接口信息——ioctl()函数与结构体struct ifreq、 struct ifconf

转载请注明出处:windeal专栏 Linux 下 可以使用ioctl()函数 以及 结构体 struct ifreq  结构体struct ifconf来获取网络接口的各种信息. ioctl 首先看ioctl()用法 ioctl()原型如下: #include <sys/ioctl.h> int ioctl(int fd, int request, ...); 参数: fd     : 文件描述符 request:  表示要请求的信息.如IP地址.网络掩码等 ...     :  后面的可变