Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char* names[]={"A", "B", "C"};
- num = sizeof(names) / sizeof(names[0]);
- #include<stdio.h>
- int main(void)
- {
- char* names1[]={"A", "B", "C"}; // Three elements
- char* names2[]={"A", "", "C"}; // Three elements
- char* names3[]={"", "A", "C", ""}; // Four elements
- char* names4[]={"John", "Paul", "George", "Ringo"}; // Four elements
- char* names5[]={"", "B", NULL, NULL, "E"}; // Five elements
- printf("len 1 = %zun",sizeof(names1)/sizeof(names1[0]));
- printf("len 2 = %zun",sizeof(names2)/sizeof(names2[0]));
- printf("len 3 = %zun",sizeof(names3)/sizeof(names3[0]));
- printf("len 4 = %zun",sizeof(names4)/sizeof(names4[0]));
- printf("len 5 = %zun",sizeof(names5)/sizeof(names5[0]));
- }
- len 1 = 3
- len 2 = 3
- len 3 = 4
- len 4 = 4
- len 5 = 5
- int namesLen = sizeof(names) / sizeof(char);
- char **names = { "A", "B", "C" };
- int namesLen = 3;
- char **names = { "A", "B", "C", NULL };
- int namesLen = -1;
- while (names[++namesLen] != NULL) { /* do nothing */}
- // namesLen is now the length of your array
- struct Array {
- void **values;
- int length;
- };
- #define array(elements...) ({ void *values[] = { elements }; array_make(values, sizeof(values) / sizeof(void *)); })
- #define destroy(arr) ({ free(arr.values); })
- struct Array array_make(void **elements, int count)
- {
- struct Array ret;
- ret.values = malloc(sizeof(void *) * count);
- ret.length = count;
- for (int i = 0; i < count; i++) {
- ret.values[i] = elements[i];
- }
- return ret;
- }
- struct Array myArray = array("Hi", "There", "This", "Is", "A", "Test");
- // use myArray
- printf("%i", myArray.length);
- destroy(myArray);
- size_t size = sizeof(names)/sizeof(char*);
- int count = sizeof(names)/sizeof(*names);
- #include<stdio.h>
- int main(void){
- size_t size, i=0;
- int count=0;
- char* names[]={"A", "B", "C"};
- size = sizeof(names)/sizeof(char*);
- for(i=0;i<size;i++){
- printf("%d - %sn",count+1, *(names+i));
- count++;
- }
- printf("n");
- printf("The number of strings found are %dn",count);
- return 0;
- }
- 1 - A
- 2 - B
- 3 - C
- The number of strings found are 3
- #include<stdio.h>
- int main(void){
- size_t size, i=0;
- int count=0;
- char *names[]={"Jimmy", "Tom", "Michael", "Maria", "Sandra", "Madonna"};
- size = sizeof(names)/sizeof(char*);
- for(i=0;i<size;i++){
- printf("%d - %sn",count+1, *(names+i));
- count++;
- }
- printf("n");
- printf("The number of strings found are %dn",count);
- return 0;
- }
- 1 - Jimmy
- 2 - Tom
- 3 - Michael
- 4 - Maria
- 5 - Sandra
- 6 - Madonna
- The number of strings found are 6
- #include<stdio.h>
- size_t arrLength(size_t len, char **arr){
- size_t i=0;
- size_t count=0;
- for(i=0;i<len;i++){
- printf("%zu - %sn",count+1, *(arr+i));
- count++;
- }
- return count;
- }
- int main(void){
- char *names[]={"Jimmy", "Tom", "Michael", "Maria", "Sandra", "Madonna"};
- size_t length,size;
- size = sizeof(names)/sizeof(char*);
- length = arrLength(size, names);
- printf("n");
- printf("The number of strings found are %zun",length);
- return 0;
- }
- 1 - Jimmy
- 2 - Tom
- 3 - Michael
- 4 - Maria
- 5 - Sandra
- 6 - Madonna
- The number of strings found are 6
- #include <stdio.h>
- int main()
- {
- char* names[] = {"John", "Paul", "George", "Ringo", '